~james-page/ubuntu/precise/nodejs/test-timeout

« back to all changes in this revision

Viewing changes to test/simple/test-http-blank-header.js

  • Committer: Bazaar Package Importer
  • Author(s): Fabrice Coutadeur
  • Date: 2011-06-30 07:03:44 UTC
  • mfrom: (7.1.13 sid)
  • Revision ID: james.westby@ubuntu.com-20110630070344-5928xvhb3ddw5adb
Tags: 0.4.9-1ubuntu1
* Merge from Debian unstable (LP: #786428). Remaining changes:
  - debian/patches/2007_remove_internet_test.patch: Remove test which requires
    internet connection

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
common = require("../common");
2
 
assert = common.assert
3
 
 
4
 
http = require('http');
5
 
net = require('net');
6
 
 
7
 
gotReq = false;
8
 
 
9
 
server = http.createServer(function (req, res) {
 
1
// Copyright Joyent, Inc. and other Node contributors.
 
2
//
 
3
// Permission is hereby granted, free of charge, to any person obtaining a
 
4
// copy of this software and associated documentation files (the
 
5
// "Software"), to deal in the Software without restriction, including
 
6
// without limitation the rights to use, copy, modify, merge, publish,
 
7
// distribute, sublicense, and/or sell copies of the Software, and to permit
 
8
// persons to whom the Software is furnished to do so, subject to the
 
9
// following conditions:
 
10
//
 
11
// The above copyright notice and this permission notice shall be included
 
12
// in all copies or substantial portions of the Software.
 
13
//
 
14
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 
15
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 
16
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
 
17
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
 
18
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
 
19
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
 
20
// USE OR OTHER DEALINGS IN THE SOFTWARE.
 
21
 
 
22
var common = require('../common');
 
23
var assert = require('assert');
 
24
var http = require('http');
 
25
var net = require('net');
 
26
 
 
27
var gotReq = false;
 
28
 
 
29
var server = http.createServer(function(req, res) {
10
30
  common.error('got req');
11
31
  gotReq = true;
12
32
  assert.equal('GET', req.method);
13
33
  assert.equal('/blah', req.url);
14
34
  assert.deepEqual({
15
 
    host: "mapdevel.trolologames.ru:443",
16
 
    origin: "http://mapdevel.trolologames.ru",
17
 
    cookie: "",
 
35
    host: 'mapdevel.trolologames.ru:443',
 
36
    origin: 'http://mapdevel.trolologames.ru',
 
37
    cookie: ''
18
38
  }, req.headers);
19
39
});
20
40
 
21
41
 
22
 
server.listen(common.PORT, function () {
 
42
server.listen(common.PORT, function() {
23
43
  var c = net.createConnection(common.PORT);
24
44
 
25
 
  c.addListener('connect', function () {
 
45
  c.addListener('connect', function() {
26
46
    common.error('client wrote message');
27
 
    c.write( "GET /blah HTTP/1.1\r\n"
28
 
           + "Host: mapdevel.trolologames.ru:443\r\n"
29
 
           + "Cookie:\r\n"
30
 
           + "Origin: http://mapdevel.trolologames.ru\r\n"
31
 
           + "\r\n\r\nhello world"
32
 
           );
 
47
    c.write('GET /blah HTTP/1.1\r\n' +
 
48
            'Host: mapdevel.trolologames.ru:443\r\n' +
 
49
            'Cookie:\r\n' +
 
50
            'Origin: http://mapdevel.trolologames.ru\r\n' +
 
51
            '\r\n\r\nhello world'
 
52
    );
33
53
  });
34
54
 
35
 
  c.addListener('end', function () {
 
55
  c.addListener('end', function() {
36
56
    c.end();
37
57
  });
38
58
 
39
 
  c.addListener('close', function () {
 
59
  c.addListener('close', function() {
40
60
    common.error('client close');
41
61
    server.close();
42
62
  });
43
63
});
44
64
 
45
65
 
46
 
process.addListener('exit', function () {
 
66
process.addListener('exit', function() {
47
67
  assert.ok(gotReq);
48
68
});