35d7140e66
BUG= http://dartbug.com/6284 BUG= http://dartbug.com/7966 R=nweiz@google.com, sgjesse@google.com Review URL: https://codereview.chromium.org//22872012 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26632 260f80e4-7a28-3924-810f-c04153c831b5
66 lines
1.9 KiB
Dart
66 lines
1.9 KiB
Dart
// Copyright (c) 2013, 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 utils;
|
|
|
|
import 'dart:async';
|
|
import 'dart:convert';
|
|
import 'dart:io';
|
|
import "package:path/path.dart";
|
|
|
|
Future<int> getStatusCode(int port,
|
|
String path,
|
|
{String host,
|
|
bool secure: false,
|
|
DateTime ifModifiedSince,
|
|
bool rawPath: false}) {
|
|
var uri;
|
|
if (rawPath) {
|
|
uri = new Uri(scheme: secure ? 'https' : 'http',
|
|
host: 'localhost',
|
|
port: port,
|
|
path: path);
|
|
} else {
|
|
uri = (secure ?
|
|
new Uri.https('localhost:$port', path) :
|
|
new Uri.http('localhost:$port', path));
|
|
}
|
|
return new HttpClient().getUrl(uri)
|
|
.then((request) {
|
|
if (host != null) request.headers.host = host;
|
|
if (ifModifiedSince != null) {
|
|
request.headers.ifModifiedSince = ifModifiedSince;
|
|
}
|
|
return request.close();
|
|
})
|
|
.then((response) => response.drain().then(
|
|
(_) => response.statusCode));
|
|
}
|
|
|
|
|
|
Future<HttpHeaders> getHeaders(int port, String path) {
|
|
return new HttpClient().get('localhost', port, path)
|
|
.then((request) => request.close())
|
|
.then((response) => response.drain().then(
|
|
(_) => response.headers));
|
|
}
|
|
|
|
|
|
Future<String> getAsString(int port, String path) {
|
|
return new HttpClient().get('localhost', port, path)
|
|
.then((request) => request.close())
|
|
.then((response) => UTF8.decodeStream(response));
|
|
}
|
|
|
|
|
|
const CERTIFICATE = "localhost_cert";
|
|
|
|
|
|
setupSecure() {
|
|
String scriptDir = dirname(new Options().script);
|
|
String certificateDatabase = join(scriptDir, 'pkcert');
|
|
SecureSocket.initialize(database: certificateDatabase,
|
|
password: 'dartdart');
|
|
}
|