2017-06-06 5 views
0

悪質なものを使用しています。request libraryリクエストを送信しています。 これらのリクエストのうちの1つは、私にヘッダーmultipart/mixed; boundary={myboundary}を送信する必要があります。リクエストライブラリを使用してヘッダを変更する要求を傍受する

要求は、このような要求にはform-data libraryを使用していますが、Content-Typeヘッダーは正しく設定されていません。

let req = request.post({url: "https://..."}, formData: formData) 
req.setHeader('Content-Type', `multipart/mixed; boundary=${req.form().getBoundary()}`) 

悲しいことに、私は要求を発射した後、変更/任意のヘッダを追加することはできません。したがって、私はこのようにそれを設定する必要があります。したがって、ヘッダーを変更できるように、送信を傍受する方法があるかどうかを知りたいですか?

答えて

0

他の任意のmultipart/*コンテンツタイプを使用するには、formDataの代わりにmultipart optionを使用する必要があります。 multipartアレイ内の各オブジェクトには、その部分で送信するヘッダーが含まれています。 1つの例外は、その部分の実際の本体として使用されるbodyプロパティです。

request.post({ 
    url: 'https://...', 
    multipart: [ 
    { 'X-Foo-Header': 'bar', body: 'baz' }, 
    // ... 
    ], 
    headers: { 'Content-Type': 'multipart/mixed' } 
}); 

境界は、既存の明示的なContent-Typeヘッダーに自動的に追加される必要があります。 This request testはこの動作を明示的にテストします。

+0

ありがとうございます。私はあなたが示唆したようにそれをするときにもステータスコード415を得る。 – Hedge

+0

それは 'multipart' APIでしか動作しないようです。このサンプルを更新し、ローカルでテストしました。 – mscdex

関連する問題