Skip to content

Storage: generated submitBatch body serializer causes invalid input #3777

@jeremymeng

Description

@jeremymeng

submitBatch expects to send the body of a string with multiple requests assembled, example:

--batch_21d021b0-54e1-4e36-89b2-74da777fb5fd
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-ID: 0

DELETE /container177139184658409904/blob0 HTTP/1.1
Accept: application/xml
x-ms-date: Wed, 18 Feb 2026 05:17:26 GMT
Authorization: SharedKey 

--batch_21d021b0-54e1-4e36-89b2-74da777fb5fd
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-ID: 1

DELETE /container177139184658409904/blob1 HTTP/1.1
Accept: application/xml
x-ms-date: Wed, 18 Feb 2026 05:17:26 GMT
Authorization: SharedKey 

--batch_21d021b0-54e1-4e36-89b2-74da777fb5fd
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-ID: 2

DELETE /container177139184658409904/%C3%A5%20%C3%A4%20%C3%B6 HTTP/1.1
Accept: application/xml
x-ms-date: Wed, 18 Feb 2026 05:17:26 GMT
Authorization: SharedKey 

--batch_21d021b0-54e1-4e36-89b2-74da777fb5fd--

However, our generated code sees multipart/mixed then wrap it with a file descriptor?

[{"name":"body","body":"--batch_dd27e660-ec4d-4f9d-9338-a648cf1fabaf\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 0\r\n\r\nDELETE /container177139126912603493/blob0 HTTP/1.1\r\naccept: application/json\r\nx-ms-date: Wed, 18 Feb 2026 05:07:49 GMT\r\nAuthorization: SharedKey  \r\n\r\n--batch_dd27e660-ec4d-4f9d-9338-a648cf1fabaf\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 1\r\n\r\nDELETE /container177139126912603493/blob1 HTTP/1.1\r\naccept: application/json\r\nx-ms-date: Wed, 18 Feb 2026 05:07:49 GMT\r\nAuthorization: SharedKey  \r\n\r\n--batch_dd27e660-ec4d-4f9d-9338-a648cf1fabaf\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 2\r\n\r\nDELETE /container177139126912603493/%C3%A5%20%C3%A4%20%C3%B6 HTTP/1.1\r\naccept: application/json\r\nx-ms-date: Wed, 18 Feb 2026 05:07:49 GMT\r\nAuthorization: SharedKey  \r\n\r\n--batch_dd27e660-ec4d-4f9d-9338-a648cf1fabaf--\r\n","contentType":"application/octet-stream"}]

code:

export function _submitBatchRequestSerializer(item: _SubmitBatchRequest): any {
  return [createFilePartDescriptor("body", item["body"], "application/octet-stream")];
}

The request has this content type

Content-Type: multipart/mixed; boundary=batch_21d021b0-54e1-4e36-89b2-74da777fb5fd

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions