Skip to content

Remove requirement for trailing line break on terminal boundary #52

Open
@mjfaga

Description

@mjfaga

According to the multipart content-type spec, their is no requirement that there be a trailing line break on the close delimiter. I cross referenced this with the current apollo client implementation, which also does not look for a trailing line-break (anywhere in fact)

Overall, the body of a multipart entity may be specified as follows:
multipart-body := preamble 1*encapsulation
close-delimiter epilogue

encapsulation := delimiter CRLF body-part

delimiter := CRLF "--" boundary ; taken from Content-Type field.
; when content-type is multipart
; There must be no space
; between "--" and boundary.

close-delimiter := delimiter "--" ; Again, no space before "--"

preamble := *text ; to be ignored upon receipt.

epilogue := *text ; to be ignored upon receipt.

body-part = <"message" as defined in RFC 822, with all header fields optional, and with the specified delimiter not occurring anywhere in the message body, either on a line by itself or as a substring anywhere. Note that the semantics of a part differ from the semantics of a message, as described in the text.>

Currently, servers that do not add this additional line break (like [GraphQL-ruby pro]) result in the last multipart chunk not being recognized.

Metadata

Metadata

Assignees

No one assigned

    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