| Index: pkg/http/lib/src/io_client.dart
|
| diff --git a/pkg/http/lib/src/io_client.dart b/pkg/http/lib/src/io_client.dart
|
| deleted file mode 100644
|
| index 1114180cba763c3cb01d0652d28e16edec81e5a4..0000000000000000000000000000000000000000
|
| --- a/pkg/http/lib/src/io_client.dart
|
| +++ /dev/null
|
| @@ -1,88 +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.
|
| -
|
| -library io_client;
|
| -
|
| -import 'dart:async';
|
| -
|
| -import 'package:stack_trace/stack_trace.dart';
|
| -
|
| -import 'base_client.dart';
|
| -import 'base_request.dart';
|
| -import 'exception.dart';
|
| -import 'io.dart' as io;
|
| -import 'streamed_response.dart';
|
| -
|
| -/// A `dart:io`-based HTTP client.
|
| -///
|
| -/// This is the default client when running on the command line.
|
| -class IOClient extends BaseClient {
|
| - /// The underlying `dart:io` HTTP client.
|
| - var _inner;
|
| -
|
| - /// Creates a new HTTP client.
|
| - ///
|
| - /// [innerClient] must be a `dart:io` HTTP client. If it's not passed, a
|
| - /// default one will be instantiated.
|
| - IOClient([innerClient]) {
|
| - io.assertSupported("IOClient");
|
| - if (innerClient != null) {
|
| - // TODO(nweiz): remove this assert when we can type [innerClient]
|
| - // properly.
|
| - assert(io.isHttpClient(innerClient));
|
| - _inner = innerClient;
|
| - } else {
|
| - _inner = io.newHttpClient();
|
| - }
|
| - }
|
| -
|
| - /// Sends an HTTP request and asynchronously returns the response.
|
| - Future<StreamedResponse> send(BaseRequest request) {
|
| - var stream = request.finalize();
|
| -
|
| - return Chain.track(_inner.openUrl(request.method, request.url))
|
| - .then((ioRequest) {
|
| - var contentLength = request.contentLength == null ?
|
| - -1 : request.contentLength;
|
| - ioRequest
|
| - ..followRedirects = request.followRedirects
|
| - ..maxRedirects = request.maxRedirects
|
| - ..contentLength = contentLength
|
| - ..persistentConnection = request.persistentConnection;
|
| - request.headers.forEach((name, value) {
|
| - ioRequest.headers.set(name, value);
|
| - });
|
| - return Chain.track(stream.pipe(ioRequest));
|
| - }).then((response) {
|
| - var headers = {};
|
| - response.headers.forEach((key, values) {
|
| - headers[key] = values.join(',');
|
| - });
|
| -
|
| - var contentLength = response.contentLength == -1 ?
|
| - null : response.contentLength;
|
| - return new StreamedResponse(
|
| - response.handleError((error) =>
|
| - throw new ClientException(error.message, error.uri),
|
| - test: (error) => io.isHttpException(error)),
|
| - response.statusCode,
|
| - contentLength: contentLength,
|
| - request: request,
|
| - headers: headers,
|
| - isRedirect: response.isRedirect,
|
| - persistentConnection: response.persistentConnection,
|
| - reasonPhrase: response.reasonPhrase);
|
| - }).catchError((error) {
|
| - if (!io.isHttpException(error)) throw error;
|
| - throw new ClientException(error.message, error.uri);
|
| - });
|
| - }
|
| -
|
| - /// Closes the client. This terminates all active connections. If a client
|
| - /// remains unclosed, the Dart process may not terminate.
|
| - void close() {
|
| - if (_inner != null) _inner.close(force: true);
|
| - _inner = null;
|
| - }
|
| -}
|
|
|