mirror of
https://github.com/dart-lang/sdk
synced 2024-09-20 02:50:20 +00:00
bd2a8e1d60
Bug: Change-Id: I4ca50f315361422db1d4356055862463bfe1d6f3 Reviewed-on: https://dart-review.googlesource.com/12240 Reviewed-by: Siva Annamalai <asiva@google.com> Reviewed-by: Ben Konyi <bkonyi@google.com> Commit-Queue: Siva Annamalai <asiva@google.com>
53 lines
1.4 KiB
Dart
53 lines
1.4 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.
|
|
//
|
|
// VMOptions=
|
|
// VMOptions=--short_socket_read
|
|
// VMOptions=--short_socket_write
|
|
// VMOptions=--short_socket_read --short_socket_write
|
|
|
|
import "dart:async";
|
|
import "dart:io";
|
|
import "dart:isolate";
|
|
|
|
void testTimeoutAfterRequest() {
|
|
HttpServer.bind("127.0.0.1", 0).then((server) {
|
|
server.idleTimeout = null;
|
|
|
|
server.listen((request) {
|
|
server.idleTimeout = const Duration(milliseconds: 100);
|
|
request.response.close();
|
|
});
|
|
|
|
Socket.connect("127.0.0.1", server.port).then((socket) {
|
|
var data = "GET / HTTP/1.1\r\nContent-Length: 0\r\n\r\n";
|
|
socket.write(data);
|
|
socket.listen(null, onDone: () {
|
|
socket.close();
|
|
server.close();
|
|
});
|
|
});
|
|
});
|
|
}
|
|
|
|
void testTimeoutBeforeRequest() {
|
|
HttpServer.bind("127.0.0.1", 0).then((server) {
|
|
server.idleTimeout = const Duration(milliseconds: 100);
|
|
|
|
server.listen((request) => request.response.close());
|
|
|
|
Socket.connect("127.0.0.1", server.port).then((socket) {
|
|
socket.listen(null, onDone: () {
|
|
socket.close();
|
|
server.close();
|
|
});
|
|
});
|
|
});
|
|
}
|
|
|
|
void main() {
|
|
testTimeoutAfterRequest();
|
|
testTimeoutBeforeRequest();
|
|
}
|