@@ -83,7 +83,7 @@ class MultipartRequest extends BaseRequest {
8383 ByteStream finalize () {
8484 // TODO(nweiz): freeze fields and files
8585 var boundary = _boundaryString ();
86- headers['content-type' ] = 'multipart/form-data; boundary=" $boundary " ' ;
86+ headers['content-type' ] = 'multipart/form-data; boundary=$boundary ' ;
8787 super .finalize ();
8888
8989 var controller = new StreamController <List <int >>(sync : true );
@@ -117,14 +117,19 @@ class MultipartRequest extends BaseRequest {
117117 return new ByteStream (controller.stream);
118118 }
119119
120- /// All character codes that are valid in multipart boundaries. From
121- /// http://tools.ietf.org/html/rfc2046#section-5.1.1.
120+ /// All character codes that are valid in multipart boundaries. This is the
121+ /// intersection of the characters allowed in the `bcharsnospace` production
122+ /// defined in [RFC 2046][] and those allowed in the `token` production
123+ /// defined in [RFC 1521][] .
124+ ///
125+ /// [RFC 2046] : http://tools.ietf.org/html/rfc2046#section-5.1.1.
126+ /// [RFC 1521] : https://tools.ietf.org/html/rfc1521#section-4
122127 static const List <int > _BOUNDARY_CHARACTERS = const < int > [
123- 39 , 40 , 41 , 43 , 95 , 44 , 45 , 46 , 47 , 58 , 61 , 63 , 48 , 49 , 50 , 51 , 52 , 53 , 54 ,
124- 55 , 56 , 57 , 65 , 66 , 67 , 68 , 69 , 70 , 71 , 72 , 73 , 74 , 75 , 76 , 77 , 78 , 79 , 80 ,
125- 81 , 82 , 83 , 84 , 85 , 86 , 87 , 88 , 89 , 90 , 97 , 98 , 99 , 100 , 101 , 102 , 103 ,
126- 104 , 105 , 106 , 107 , 108 , 109 , 110 , 111 , 112 , 113 , 114 , 115 , 116 , 117 , 118 ,
127- 119 , 120 , 121 , 122
128+ 39 , 43 , 95 , 44 , 45 , 46 , 58 , 61 , 63 , 48 , 49 , 50 , 51 , 52 , 53 , 54 , 55 , 56 , 57 ,
129+ 65 , 66 , 67 , 68 , 69 , 70 , 71 , 72 , 73 , 74 , 75 , 76 , 77 , 78 , 79 , 80 , 81 , 82 , 83 ,
130+ 84 , 85 , 86 , 87 , 88 , 89 , 90 , 97 , 98 , 99 , 100 , 101 , 102 , 103 , 104 , 105 , 106 ,
131+ 107 , 108 , 109 , 110 , 111 , 112 , 113 , 114 , 115 , 116 , 117 , 118 , 119 , 120 , 121 ,
132+ 122
128133 ];
129134
130135 /// Returns the header string for a field. The return value is guaranteed to
0 commit comments