| Index: utils/pub/curl_client.dart
|
| diff --git a/utils/pub/curl_client.dart b/utils/pub/curl_client.dart
|
| index e1afc2dbb6c7fc4f77507194669765d4ad97b308..1abb67ed75f9df2410b381bea95937999e83bf74 100644
|
| --- a/utils/pub/curl_client.dart
|
| +++ b/utils/pub/curl_client.dart
|
| @@ -8,6 +8,7 @@ import 'dart:io';
|
|
|
| import '../../pkg/http/lib/http.dart' as http;
|
| import 'io.dart';
|
| +import 'log.dart' as log;
|
| import 'utils.dart';
|
|
|
| /// A drop-in replacement for [http.Client] that uses the `curl` command-line
|
| @@ -30,10 +31,13 @@ class CurlClient extends http.BaseClient {
|
|
|
| /// Sends a request via `curl` and returns the response.
|
| Future<http.StreamedResponse> send(http.BaseRequest request) {
|
| + log.fine("Sending Curl request $request");
|
| +
|
| var requestStream = request.finalize();
|
| return withTempDir((tempDir) {
|
| var headerFile = new Path(tempDir).append("curl-headers").toNativePath();
|
| var arguments = _argumentsForRequest(request, headerFile);
|
| + log.process(executable, arguments);
|
| var process;
|
| return Process.start(executable, arguments).chain((process_) {
|
| process = process_;
|
| @@ -114,6 +118,8 @@ class CurlClient extends http.BaseClient {
|
| Future _waitForHeaders(Process process, {bool expectBody}) {
|
| var completer = new Completer();
|
| process.onExit = (exitCode) {
|
| + log.io("Curl process exited with code $exitCode.");
|
| +
|
| if (exitCode == 0) {
|
| completer.complete(null);
|
| return;
|
| @@ -122,6 +128,7 @@ class CurlClient extends http.BaseClient {
|
| chainToCompleter(consumeInputStream(process.stderr)
|
| .transform((stderrBytes) {
|
| var message = new String.fromCharCodes(stderrBytes);
|
| + log.fine('Got error reading headers from curl: $message');
|
| if (exitCode == 47) {
|
| throw new RedirectLimitExceededException([]);
|
| } else {
|
|
|