superagent: fix field() multipart generation
This commit is contained in:
+10
-10
@@ -185,11 +185,7 @@ class Request {
|
||||
|
||||
const partHeader = Buffer.from(`--${this.#boundary}\r\nContent-Disposition: form-data; name="${name}"\r\n\r\n`, 'utf8');
|
||||
const partData = Buffer.from(value, 'utf8');
|
||||
const partTrailer = Buffer.from(`\r\n--${this.#boundary}--\r\n`, 'utf8');
|
||||
this.#body = Buffer.concat([this.#body, partHeader, partData, partTrailer]);
|
||||
|
||||
this.#options.headers['content-type'] = `multipart/form-data; boundary=${this.#boundary}`;
|
||||
this.#options.headers['content-length'] = this.#body.byteLength;
|
||||
this.#body = Buffer.concat([this.#body, partHeader, partData, Buffer.from('\r\n', 'utf8')]);
|
||||
|
||||
return this;
|
||||
}
|
||||
@@ -199,16 +195,20 @@ class Request {
|
||||
|
||||
const partHeader = Buffer.from(`--${this.#boundary}\r\nContent-Disposition: form-data; name="${name}" filename="${path.basename(filepath)}"\r\n\r\n`, 'utf8');
|
||||
const partData = fs.readFileSync(filepath);
|
||||
const partTrailer = Buffer.from(`\r\n--${this.#boundary}--\r\n`, 'utf8');
|
||||
this.#body = Buffer.concat([this.#body, partHeader, partData, partTrailer]);
|
||||
|
||||
this.#options.headers['content-type'] = `multipart/form-data; boundary=${this.#boundary}`;
|
||||
this.#options.headers['content-length'] = this.#body.byteLength;
|
||||
this.#body = Buffer.concat([this.#body, partHeader, partData, Buffer.from('\r\n', 'utf8')]);
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
then(onFulfilled, onRejected) {
|
||||
if (this.#boundary) {
|
||||
const partTrailer = Buffer.from(`--${this.#boundary}--\r\n`, 'utf8');
|
||||
this.#body = Buffer.concat([this.#body, partTrailer]);
|
||||
|
||||
this.#options.headers['content-type'] = `multipart/form-data; boundary=${this.#boundary}`;
|
||||
this.#options.headers['content-length'] = this.#body.byteLength;
|
||||
}
|
||||
|
||||
this._start().then(onFulfilled, onRejected);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user