| Index: sdk/lib/io/http_multipart_form_data_impl.dart
|
| diff --git a/sdk/lib/io/http_multipart_form_data_impl.dart b/sdk/lib/io/http_multipart_form_data_impl.dart
|
| deleted file mode 100644
|
| index b2279541cc428a274aae780bac501a5354967c1a..0000000000000000000000000000000000000000
|
| --- a/sdk/lib/io/http_multipart_form_data_impl.dart
|
| +++ /dev/null
|
| @@ -1,102 +0,0 @@
|
| -// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
| -// for details. All rights reserved. Use of this source code is governed by a
|
| -// BSD-style license that can be found in the LICENSE file.
|
| -
|
| -part of dart.io;
|
| -
|
| -
|
| -class _HttpMultipartFormData extends Stream implements HttpMultipartFormData {
|
| - final ContentType contentType;
|
| - final HeaderValue contentDisposition;
|
| - final HeaderValue contentTransferEncoding;
|
| -
|
| - final MimeMultipart _mimeMultipart;
|
| -
|
| - bool _isText = false;
|
| -
|
| - Stream _stream;
|
| -
|
| - _HttpMultipartFormData(ContentType this.contentType,
|
| - HeaderValue this.contentDisposition,
|
| - HeaderValue this.contentTransferEncoding,
|
| - MimeMultipart this._mimeMultipart) {
|
| - _stream = _mimeMultipart;
|
| - if (contentTransferEncoding != null) {
|
| - // TODO(ajohnsen): Support BASE64, etc.
|
| - throw new HttpException("Unsupported contentTransferEncoding: "
|
| - "${contentTransferEncoding.value}");
|
| - }
|
| -
|
| - if (contentType == null ||
|
| - contentType.primaryType == 'text' ||
|
| - contentType.mimeType == 'application/json') {
|
| - _isText = true;
|
| - StringBuffer buffer = new StringBuffer();
|
| - Encoding encoding;
|
| - if (contentType != null) {
|
| - encoding = Encoding.fromName(contentType.charset);
|
| - }
|
| - if (encoding == null) encoding = Encoding.ISO_8859_1;
|
| - _stream = _stream
|
| - .transform(new StringDecoder(encoding))
|
| - .expand((data) {
|
| - buffer.write(data);
|
| - var out = _HttpUtils.decodeHttpEntityString(buffer.toString());
|
| - if (out != null) {
|
| - buffer = new StringBuffer();
|
| - return [out];
|
| - }
|
| - return const [];
|
| - });
|
| - }
|
| - }
|
| -
|
| - bool get isText => _isText;
|
| - bool get isBinary => !_isText;
|
| -
|
| - static HttpMultipartFormData parse(MimeMultipart multipart) {
|
| - var type;
|
| - var encoding;
|
| - var disposition;
|
| - var remaining = new Map<String, String>();
|
| - for (String key in multipart.headers.keys) {
|
| - switch (key) {
|
| - case HttpHeaders.CONTENT_TYPE:
|
| - type = ContentType.parse(multipart.headers[key]);
|
| - break;
|
| -
|
| - case 'content-transfer-encoding':
|
| - encoding = HeaderValue.parse(multipart.headers[key]);
|
| - break;
|
| -
|
| - case 'content-disposition':
|
| - disposition = HeaderValue.parse(multipart.headers[key]);
|
| - break;
|
| -
|
| - default:
|
| - remaining[key] = multipart.headers[key];
|
| - break;
|
| - }
|
| - }
|
| - if (disposition == null) {
|
| - throw new HttpException(
|
| - "Mime Multipart doesn't contain a Content-Disposition header value");
|
| - }
|
| - return new _HttpMultipartFormData(type, disposition, encoding, multipart);
|
| - }
|
| -
|
| - StreamSubscription listen(void onData(data),
|
| - {void onDone(),
|
| - void onError(error),
|
| - bool cancelOnError}) {
|
| - return _stream.listen(onData,
|
| - onDone: onDone,
|
| - onError: onError,
|
| - cancelOnError: cancelOnError);
|
| - }
|
| -
|
| - String value(String name) {
|
| - return _mimeMultipart.headers[name];
|
| - }
|
| -}
|
| -
|
|
|