Skip to content

Instantly share code, notes, and snippets.

Created July 23, 2011 12:28
Show Gist options
  • Save anonymous/1101369 to your computer and use it in GitHub Desktop.
Save anonymous/1101369 to your computer and use it in GitHub Desktop.
Ben Howes - npm test result
ben@ben-desktop:~/Code/fittingly/server/lib/node-restify$ npm test
> restify@0.3.16 pretest /home/ben/Code/fittingly/server/lib/node-restify
> gjslint --nojsdoc -r . -x lib/sprintf.js -e node_modules; jshint lib tst
Skipping 129 file(s).
28 files checked, no errors found.
Lint Free!
> restify@0.3.16 test /home/ben/Code/fittingly/server/lib/node-restify
> whiskey --quiet --sequential --timeout 4000 -t "`find tst -name *.test.js | xargs`"
/home/ben/Code/fittingly/server/lib/node-restify/tst/auth.test.js
setUp [OK]
test_ok [OK]
test_no_auth [OK]
test_bad_user [OK]
test_bad_scheme [OK]
test_bad_basic [OK]
tearDown [OK]
/home/ben/Code/fittingly/server/lib/node-restify/tst/del.test.js
setUp [OK]
test_bad_method [OK]
test_not_found [OK]
test_success [OK]
tearDown [OK]
/home/ben/Code/fittingly/server/lib/node-restify/tst/version.test.js
test_no_version [OK]
test_default_version [OK]
test_explicit_version [OK]
test_multiple_version [OK]
test_no_semver [OK]
test_semver [OK]
test_invalid_version [OK]
/home/ben/Code/fittingly/server/lib/node-restify/tst/server.test.js
test_create_no_options [OK]
test_create_empty_options [OK]
test_server_name [OK]
test_max_request_size [OK]
test_clock_ok [OK]
test_clock_skew [OK]
test_regex_route [OK]
test_create_ssl [OK]
test_abort_pre_send [OK]
test_abort_pre_error [OK]
test_abort_main_error [OK]
test_main_no_abort [OK]
test_gh_27 [OK]
test_custom_content [OK]
test_custom_headers [OK]
/home/ben/Code/fittingly/server/lib/node-restify/tst/client.test.js
setUp [OK]
test_put_expect [FAIL]
Exception
HttpError: Invalid Content: body is not defined
at /home/ben/Code/fittingly/server/lib/node-restify/lib/error.js:21:13
at /home/ben/Code/fittingly/server/lib/node-restify/lib/client.js:150:17
at IncomingMessage.endResponse (/home/ben/Code/fittingly/server/lib/node-restify/lib/client.js:462:9)
at IncomingMessage.emit (events.js:81:20)
at HTTPParser.onMessageComplete (http.js:132:23)
at Socket.ondata (http.js:1206:22)
at Socket._onReadable (net.js:678:27)
at IOWatcher.onReadable [as callback] (net.js:177:10)
test_put_no_expect [FAIL]
Exception
HttpError: Invalid Content: body is not defined
at /home/ben/Code/fittingly/server/lib/node-restify/lib/error.js:21:13
at /home/ben/Code/fittingly/server/lib/node-restify/lib/client.js:150:17
at IncomingMessage.endResponse (/home/ben/Code/fittingly/server/lib/node-restify/lib/client.js:462:9)
at IncomingMessage.emit (events.js:81:20)
at HTTPParser.onMessageComplete (http.js:132:23)
at Socket.ondata (http.js:1206:22)
at Socket._onReadable (net.js:678:27)
at IOWatcher.onReadable [as callback] (net.js:177:10)
test_post_expect [FAIL]
Exception
HttpError: Invalid Content: body is not defined
at /home/ben/Code/fittingly/server/lib/node-restify/lib/error.js:21:13
at /home/ben/Code/fittingly/server/lib/node-restify/lib/client.js:188:17
at IncomingMessage.endResponse (/home/ben/Code/fittingly/server/lib/node-restify/lib/client.js:462:9)
at IncomingMessage.emit (events.js:81:20)
at HTTPParser.onMessageComplete (http.js:132:23)
at Socket.ondata (http.js:1206:22)
at Socket._onReadable (net.js:678:27)
at IOWatcher.onReadable [as callback] (net.js:177:10)
test_get_expect [OK]
test_get_no_expect [OK]
test_del_expect [OK]
test_del_no_expect [OK]
test_head_expect [OK]
test_head_no_expect [OK]
test_retries [OK]
test_form_url_encoding [OK]
test_head_string [OK]
test_get_string [OK]
test_put_string [OK]
test_post_string [OK]
test_del_string [OK]
test_url_in_constructor [OK]
test_url_prefix [OK]
tearDown [OK]
Stderr:
2011-06-23 11:31:52Z TRACE: server will accept types: [ 'application/json' ]
2011-06-23 11:31:52Z TRACE: server: adding route { method: 'PUT',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function: handle] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:52Z TRACE: server: adding route { method: 'POST',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function: handle] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:52Z TRACE: server: adding route { method: 'GET',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function: handle] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:52Z TRACE: server: adding route { method: 'DELETE',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function: handle] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:52Z TRACE: server: adding route { method: 'HEAD',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function: handle] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:52Z TRACE: server: adding route { method: 'HEAD',
url: '/fail',
regex: false,
handlers: { main: [ [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'fail' ] }
2011-06-23 11:31:52Z TRACE: RestClient: constructed { _log: [Function],
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
proto:
{ getAgent: [Function: getAgent],
Agent: [Object],
request: [Function],
get: [Function] },
path: '',
headers:
{ Accept: 'application/json',
'x-api-version': '1.2.3' },
retryOptions: { retries: 1 },
retryCallback: [Function: checkFor50x],
contentType: 'application/json',
noContentMD5: undefined }
2011-06-23 11:31:52Z TRACE: RestClient: _processArguments => { options:
{ contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json' },
method: 'PUT',
path: '/test/foo',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
body: { foo: 'bar', code: 200 },
expect: [ 200 ] },
callback: [Function] }
2011-06-23 11:31:52Z TRACE: RestClient(1932f73, attempt=1): issuing request { contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json',
'content-type': 'application/json',
'content-length': 24,
'content-md5': '6OZh5d/F/Gssl71881jljA==',
Date: 'Sat, 23 Jul 2011 11:31:52 GMT' },
method: 'PUT',
path: '/test/foo',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
body: { foo: 'bar', code: 200 },
expect: [ 200 ] }
2011-06-23 11:31:52Z TRACE: _sanitizePath: path=/test/foo
2011-06-23 11:31:52Z TRACE: _sanitizePath: returning /test/foo
2011-06-23 11:31:52Z TRACE: _parseHead:
PUT /test/foo HTTP/1.1
Headers: { 'x-api-version': '1.2.3',
accept: 'application/json',
'content-type': 'application/json',
'content-length': '24',
'content-md5': '6OZh5d/F/Gssl71881jljA==',
date: 'Sat, 23 Jul 2011 11:31:52 GMT',
host: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
connection: 'close' }
2011-06-23 11:31:52Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:52Z TRACE: No authorization header present.
2011-06-23 11:31:52Z TRACE: Date: sent=1311420712000, now=1311420712729, allowed=300000
2011-06-23 11:31:52Z TRACE: PUT /test/foo route found -> { method: 'PUT',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function: handle] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:52Z TRACE: _parseRequest: req.body={"foo":"bar","code":200}
2011-06-23 11:31:52Z TRACE: response.send: code=400, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:52 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': 'd64ddead-29fe-4576-bcc2-41a799834e6c',
'X-Response-Time': 3,
'Content-Length': 75,
'Content-MD5': 'zIuhUnxjxHyyGbCLlw6NQw==',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body={"code":"InvalidArgument","message":"Invalid Content: body is not defined"}
2011-06-23 11:31:52Z WARN: ErrorSent(requestId=d64ddead-29fe-4576-bcc2-41a799834e6c): HttpCode=400, RestCode=InvalidArgument, message=Invalid Content: body is not defined:
HttpError: Invalid Content: body is not defined
at /home/ben/Code/fittingly/server/lib/node-restify/lib/error.js:21:13
at IncomingMessage.<anonymous> (/home/ben/Code/fittingly/server/lib/node-restify/lib/server.js:350:37)
at IncomingMessage.emit (events.js:61:17)
at HTTPParser.onMessageComplete (http.js:132:23)
at Socket.ondata (http.js:1001:22)
at Socket._onReadable (net.js:678:27)
at IOWatcher.onReadable [as callback] (net.js:177:10)
2011-06-23 11:31:52Z TRACE: RestClient(1932f73): PUT /test/foo => code=400, headers={ connection: 'close',
date: 'Sat, 23 Jul 2011 11:31:52 GMT',
server: 'RESTify',
'x-api-version': '1.2.3',
'x-request-id': 'd64ddead-29fe-4576-bcc2-41a799834e6c',
'x-response-time': '3',
'content-length': '75',
'content-md5': 'zIuhUnxjxHyyGbCLlw6NQw==',
'content-type': 'application/json',
'access-control-allow-origin': '*',
'access-control-allow-methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'access-control-allow-headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'access-control-expose-headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }
2011-06-23 11:31:52Z TRACE: RestClient(1932f73): PUT /test/foo => body={"code":"InvalidArgument","message":"Invalid Content: body is not defined"}
2011-06-23 11:31:52Z TRACE: RestClient: PUT /test/foo: issuing callback
2011-06-23 11:31:52Z TRACE: RestClient: _processArguments => { options:
{ contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json' },
method: 'PUT',
path: '/test/foo',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
body: { foo: 'bar', code: 204 },
expect: [ 204 ] },
callback: [Function] }
2011-06-23 11:31:52Z TRACE: RestClient(218257a, attempt=1): issuing request { contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json',
'content-type': 'application/json',
'content-length': 24,
'content-md5': '2K11Qql3INzpCheSvnqHkg==',
Date: 'Sat, 23 Jul 2011 11:31:52 GMT' },
method: 'PUT',
path: '/test/foo',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
body: { foo: 'bar', code: 204 },
expect: [ 204 ] }
2011-06-23 11:31:52Z TRACE: _sanitizePath: path=/test/foo
2011-06-23 11:31:52Z TRACE: _sanitizePath: returning /test/foo
2011-06-23 11:31:52Z TRACE: _parseHead:
PUT /test/foo HTTP/1.1
Headers: { 'x-api-version': '1.2.3',
accept: 'application/json',
'content-type': 'application/json',
'content-length': '24',
'content-md5': '2K11Qql3INzpCheSvnqHkg==',
date: 'Sat, 23 Jul 2011 11:31:52 GMT',
connection: 'close' }
2011-06-23 11:31:52Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:52Z TRACE: No authorization header present.
2011-06-23 11:31:52Z TRACE: Date: sent=1311420712000, now=1311420712736, allowed=300000
2011-06-23 11:31:52Z TRACE: PUT /test/foo route found -> { method: 'PUT',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function: handle] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:52Z TRACE: _parseRequest: req.body={"foo":"bar","code":204}
2011-06-23 11:31:52Z TRACE: response.send: code=400, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:52 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': 'fb892df1-8901-4673-a2ba-b25d8fcd48cf',
'X-Response-Time': 1,
'Content-Length': 75,
'Content-MD5': 'zIuhUnxjxHyyGbCLlw6NQw==',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body={"code":"InvalidArgument","message":"Invalid Content: body is not defined"}
2011-06-23 11:31:52Z WARN: ErrorSent(requestId=fb892df1-8901-4673-a2ba-b25d8fcd48cf): HttpCode=400, RestCode=InvalidArgument, message=Invalid Content: body is not defined:
HttpError: Invalid Content: body is not defined
at /home/ben/Code/fittingly/server/lib/node-restify/lib/error.js:21:13
at IncomingMessage.<anonymous> (/home/ben/Code/fittingly/server/lib/node-restify/lib/server.js:350:37)
at IncomingMessage.emit (events.js:61:17)
at HTTPParser.onMessageComplete (http.js:132:23)
at Socket.ondata (http.js:1001:22)
at Socket._onReadable (net.js:678:27)
at IOWatcher.onReadable [as callback] (net.js:177:10)
2011-06-23 11:31:52Z TRACE: RestClient(218257a): PUT /test/foo => code=400, headers={ connection: 'close',
date: 'Sat, 23 Jul 2011 11:31:52 GMT',
server: 'RESTify',
'x-api-version': '1.2.3',
'x-request-id': 'fb892df1-8901-4673-a2ba-b25d8fcd48cf',
'x-response-time': '1',
'content-length': '75',
'content-md5': 'zIuhUnxjxHyyGbCLlw6NQw==',
'content-type': 'application/json',
'access-control-allow-origin': '*',
'access-control-allow-methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'access-control-allow-headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'access-control-expose-headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }
2011-06-23 11:31:52Z TRACE: RestClient(218257a): PUT /test/foo => body={"code":"InvalidArgument","message":"Invalid Content: body is not defined"}
2011-06-23 11:31:52Z TRACE: RestClient: PUT /test/foo: issuing callback
2011-06-23 11:31:52Z TRACE: RestClient: _processArguments => { options:
{ contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json' },
method: 'POST',
path: '/test/foo?code=200',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
query: { code: 200 },
body: { foo: 'bar' },
expect: [ 200, 201 ] },
callback: [Function] }
2011-06-23 11:31:52Z TRACE: RestClient(26c062b, attempt=1): issuing request { contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json',
'content-type': 'application/json',
'content-length': 13,
'content-md5': 'm7WPJhkuS6APAeLnsTa72A==',
Date: 'Sat, 23 Jul 2011 11:31:52 GMT' },
method: 'POST',
path: '/test/foo?code=200',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
query: { code: 200 },
body: { foo: 'bar' },
expect: [ 200, 201 ] }
2011-06-23 11:31:52Z TRACE: _sanitizePath: path=/test/foo?code=200
2011-06-23 11:31:52Z TRACE: _sanitizePath: returning /test/foo?code=200
2011-06-23 11:31:52Z TRACE: _parseHead:
POST /test/foo?code=200 HTTP/1.1
Headers: { 'x-api-version': '1.2.3',
accept: 'application/json',
'content-type': 'application/json',
'content-length': '13',
'content-md5': 'm7WPJhkuS6APAeLnsTa72A==',
date: 'Sat, 23 Jul 2011 11:31:52 GMT',
connection: 'close' }
2011-06-23 11:31:52Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:52Z TRACE: No authorization header present.
2011-06-23 11:31:52Z TRACE: Date: sent=1311420712000, now=1311420712742, allowed=300000
2011-06-23 11:31:52Z TRACE: POST /test/foo?code=200 route found -> { method: 'POST',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function: handle] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:52Z TRACE: _parseRequest: req.body={"foo":"bar"}
2011-06-23 11:31:52Z TRACE: response.send: code=400, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:52 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': 'e9928fb0-5b52-4b24-b19a-5c76c7f23560',
'X-Response-Time': 1,
'Content-Length': 75,
'Content-MD5': 'zIuhUnxjxHyyGbCLlw6NQw==',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body={"code":"InvalidArgument","message":"Invalid Content: body is not defined"}
2011-06-23 11:31:52Z WARN: ErrorSent(requestId=e9928fb0-5b52-4b24-b19a-5c76c7f23560): HttpCode=400, RestCode=InvalidArgument, message=Invalid Content: body is not defined:
HttpError: Invalid Content: body is not defined
at /home/ben/Code/fittingly/server/lib/node-restify/lib/error.js:21:13
at IncomingMessage.<anonymous> (/home/ben/Code/fittingly/server/lib/node-restify/lib/server.js:350:37)
at IncomingMessage.emit (events.js:61:17)
at HTTPParser.onMessageComplete (http.js:132:23)
at Socket.ondata (http.js:1001:22)
at Socket._onReadable (net.js:678:27)
at IOWatcher.onReadable [as callback] (net.js:177:10)
2011-06-23 11:31:52Z TRACE: RestClient(26c062b): POST /test/foo?code=200 => code=400, headers={ connection: 'close',
date: 'Sat, 23 Jul 2011 11:31:52 GMT',
server: 'RESTify',
'x-api-version': '1.2.3',
'x-request-id': 'e9928fb0-5b52-4b24-b19a-5c76c7f23560',
'x-response-time': '1',
'content-length': '75',
'content-md5': 'zIuhUnxjxHyyGbCLlw6NQw==',
'content-type': 'application/json',
'access-control-allow-origin': '*',
'access-control-allow-methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'access-control-allow-headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'access-control-expose-headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }
2011-06-23 11:31:52Z TRACE: RestClient(26c062b): POST /test/foo?code=200 => body={"code":"InvalidArgument","message":"Invalid Content: body is not defined"}
2011-06-23 11:31:52Z TRACE: RestClient: POST /test/foo?code=200: issuing callback
2011-06-23 11:31:52Z TRACE: RestClient: _processArguments => { options:
{ contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json' },
method: 'GET',
path: '/test/foo?foo=bar&code=200',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
query: { foo: 'bar', code: 200 },
expect: [ 200 ] },
callback: [Function] }
2011-06-23 11:31:52Z TRACE: RestClient(7659818, attempt=1): issuing request { contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json',
'content-length': 0,
Date: 'Sat, 23 Jul 2011 11:31:52 GMT' },
method: 'GET',
path: '/test/foo?foo=bar&code=200',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
query: { foo: 'bar', code: 200 },
expect: [ 200 ] }
2011-06-23 11:31:52Z TRACE: _sanitizePath: path=/test/foo?foo=bar&code=200
2011-06-23 11:31:52Z TRACE: _sanitizePath: returning /test/foo?foo=bar&code=200
2011-06-23 11:31:52Z TRACE: _parseHead:
GET /test/foo?foo=bar&code=200 HTTP/1.1
Headers: { 'x-api-version': '1.2.3',
accept: 'application/json',
'content-length': '0',
date: 'Sat, 23 Jul 2011 11:31:52 GMT',
connection: 'close' }
2011-06-23 11:31:52Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:52Z TRACE: No authorization header present.
2011-06-23 11:31:52Z TRACE: Date: sent=1311420712000, now=1311420712746, allowed=300000
2011-06-23 11:31:52Z TRACE: GET /test/foo?foo=bar&code=200 route found -> { method: 'GET',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function: handle] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:52Z TRACE: _parseRequest: params parsed as: { foo: 'bar', code: '200' }
2011-06-23 11:31:52Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:52 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': '19109ddc-1d21-4a0d-ba9b-5d9675c8ad03',
'X-Response-Time': 1,
'Content-Length': 39,
'Content-MD5': 'c48LnjFYwjMGhvjHcFWXkw==',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body={"foo":"bar","code":"200","name":"foo"}
2011-06-23 11:31:52Z TRACE: RestClient(7659818): GET /test/foo?foo=bar&code=200 => code=200, headers={ connection: 'close',
date: 'Sat, 23 Jul 2011 11:31:52 GMT',
server: 'RESTify',
'x-api-version': '1.2.3',
'x-request-id': '19109ddc-1d21-4a0d-ba9b-5d9675c8ad03',
'x-response-time': '1',
'content-length': '39',
'content-md5': 'c48LnjFYwjMGhvjHcFWXkw==',
'content-type': 'application/json',
'access-control-allow-origin': '*',
'access-control-allow-methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'access-control-allow-headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'access-control-expose-headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }
2011-06-23 11:31:52Z TRACE: RestClient(7659818): GET /test/foo?foo=bar&code=200 => body={"foo":"bar","code":"200","name":"foo"}
2011-06-23 11:31:52Z TRACE: RestClient: GET /test/foo?foo=bar&code=200: issuing callback
2011-06-23 11:31:52Z TRACE: RestClient: _processArguments => { options:
{ contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json' },
method: 'GET',
path: '/test/foo?foo=bar&code=200',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
query: { foo: 'bar', code: 200 },
expect: [ 200 ] },
callback: [Function] }
2011-06-23 11:31:52Z TRACE: RestClient(ae92c72, attempt=1): issuing request { contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json',
'content-length': 0,
Date: 'Sat, 23 Jul 2011 11:31:52 GMT' },
method: 'GET',
path: '/test/foo?foo=bar&code=200',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
query: { foo: 'bar', code: 200 },
expect: [ 200 ] }
2011-06-23 11:31:52Z TRACE: _sanitizePath: path=/test/foo?foo=bar&code=200
2011-06-23 11:31:52Z TRACE: _sanitizePath: returning /test/foo?foo=bar&code=200
2011-06-23 11:31:52Z TRACE: _parseHead:
GET /test/foo?foo=bar&code=200 HTTP/1.1
Headers: { 'x-api-version': '1.2.3',
accept: 'application/json',
'content-length': '0',
date: 'Sat, 23 Jul 2011 11:31:52 GMT',
connection: 'close' }
2011-06-23 11:31:52Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:52Z TRACE: No authorization header present.
2011-06-23 11:31:52Z TRACE: Date: sent=1311420712000, now=1311420712750, allowed=300000
2011-06-23 11:31:52Z TRACE: GET /test/foo?foo=bar&code=200 route found -> { method: 'GET',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function: handle] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:52Z TRACE: _parseRequest: params parsed as: { foo: 'bar', code: '200' }
2011-06-23 11:31:52Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:52 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': 'a6c6295f-b75f-415e-ba3c-87b62ab3ed02',
'X-Response-Time': 1,
'Content-Length': 39,
'Content-MD5': 'c48LnjFYwjMGhvjHcFWXkw==',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body={"foo":"bar","code":"200","name":"foo"}
2011-06-23 11:31:52Z TRACE: RestClient(ae92c72): GET /test/foo?foo=bar&code=200 => code=200, headers={ connection: 'close',
date: 'Sat, 23 Jul 2011 11:31:52 GMT',
server: 'RESTify',
'x-api-version': '1.2.3',
'x-request-id': 'a6c6295f-b75f-415e-ba3c-87b62ab3ed02',
'x-response-time': '1',
'content-length': '39',
'content-md5': 'c48LnjFYwjMGhvjHcFWXkw==',
'content-type': 'application/json',
'access-control-allow-origin': '*',
'access-control-allow-methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'access-control-allow-headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'access-control-expose-headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }
2011-06-23 11:31:52Z TRACE: RestClient(ae92c72): GET /test/foo?foo=bar&code=200 => body={"foo":"bar","code":"200","name":"foo"}
2011-06-23 11:31:52Z TRACE: RestClient: GET /test/foo?foo=bar&code=200: issuing callback
2011-06-23 11:31:52Z TRACE: RestClient: _processArguments => { options:
{ contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json' },
method: 'DELETE',
path: '/test/foo?code=200',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
query: { code: 200 },
expect: [ 200 ] },
callback: [Function] }
2011-06-23 11:31:52Z TRACE: RestClient(d8992ce, attempt=1): issuing request { contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json',
'content-length': 0,
Date: 'Sat, 23 Jul 2011 11:31:52 GMT' },
method: 'DELETE',
path: '/test/foo?code=200',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
query: { code: 200 },
expect: [ 200 ] }
2011-06-23 11:31:52Z TRACE: _sanitizePath: path=/test/foo?code=200
2011-06-23 11:31:52Z TRACE: _sanitizePath: returning /test/foo?code=200
2011-06-23 11:31:52Z TRACE: _parseHead:
DELETE /test/foo?code=200 HTTP/1.1
Headers: { 'x-api-version': '1.2.3',
accept: 'application/json',
'content-length': '0',
date: 'Sat, 23 Jul 2011 11:31:52 GMT',
connection: 'close' }
2011-06-23 11:31:52Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:52Z TRACE: No authorization header present.
2011-06-23 11:31:52Z TRACE: Date: sent=1311420712000, now=1311420712754, allowed=300000
2011-06-23 11:31:52Z TRACE: DELETE /test/foo?code=200 route found -> { method: 'DELETE',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function: handle] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:52Z TRACE: _parseRequest: params parsed as: { code: '200' }
2011-06-23 11:31:52Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:52 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': 'c3859a6a-8af6-41e0-95d5-fb0e3285d7d3',
'X-Response-Time': 1,
'Content-Length': 27,
'Content-MD5': 'xReKIXZoXsGH5pfXwZdu6Q==',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body={"code":"200","name":"foo"}
2011-06-23 11:31:52Z TRACE: RestClient(d8992ce): DELETE /test/foo?code=200 => code=200, headers={ connection: 'close',
date: 'Sat, 23 Jul 2011 11:31:52 GMT',
server: 'RESTify',
'x-api-version': '1.2.3',
'x-request-id': 'c3859a6a-8af6-41e0-95d5-fb0e3285d7d3',
'x-response-time': '1',
'content-length': '27',
'content-md5': 'xReKIXZoXsGH5pfXwZdu6Q==',
'content-type': 'application/json',
'access-control-allow-origin': '*',
'access-control-allow-methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'access-control-allow-headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'access-control-expose-headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }
2011-06-23 11:31:52Z TRACE: RestClient(d8992ce): DELETE /test/foo?code=200 => body={"code":"200","name":"foo"}
2011-06-23 11:31:52Z TRACE: RestClient: DELETE /test/foo?code=200: issuing callback
2011-06-23 11:31:52Z TRACE: RestClient: _processArguments => { options:
{ contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json' },
method: 'DELETE',
path: '/test/foo?code=204',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
query: { code: 204 },
expect: [ 200, 202, 204 ] },
callback: [Function] }
2011-06-23 11:31:52Z TRACE: RestClient(7f91a2d, attempt=1): issuing request { contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json',
'content-length': 0,
Date: 'Sat, 23 Jul 2011 11:31:52 GMT' },
method: 'DELETE',
path: '/test/foo?code=204',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
query: { code: 204 },
expect: [ 200, 202, 204 ] }
2011-06-23 11:31:52Z TRACE: _sanitizePath: path=/test/foo?code=204
2011-06-23 11:31:52Z TRACE: _sanitizePath: returning /test/foo?code=204
2011-06-23 11:31:52Z TRACE: _parseHead:
DELETE /test/foo?code=204 HTTP/1.1
Headers: { 'x-api-version': '1.2.3',
accept: 'application/json',
'content-length': '0',
date: 'Sat, 23 Jul 2011 11:31:52 GMT',
connection: 'close' }
2011-06-23 11:31:52Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:52Z TRACE: No authorization header present.
2011-06-23 11:31:52Z TRACE: Date: sent=1311420712000, now=1311420712757, allowed=300000
2011-06-23 11:31:52Z TRACE: DELETE /test/foo?code=204 route found -> { method: 'DELETE',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function: handle] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:52Z TRACE: _parseRequest: params parsed as: { code: '204' }
2011-06-23 11:31:52Z TRACE: response.send: code=204, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:52 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': '1b524ec1-2f9d-4e37-b3ae-9902a602fd3f',
'X-Response-Time': 1,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:52Z TRACE: RestClient(7f91a2d): DELETE /test/foo?code=204 => code=204, headers={ connection: 'close',
date: 'Sat, 23 Jul 2011 11:31:52 GMT',
server: 'RESTify',
'x-api-version': '1.2.3',
'x-request-id': '1b524ec1-2f9d-4e37-b3ae-9902a602fd3f',
'x-response-time': '1',
'access-control-allow-origin': '*',
'access-control-allow-methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'access-control-allow-headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'access-control-expose-headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }
2011-06-23 11:31:52Z TRACE: RestClient(7f91a2d): DELETE /test/foo?code=204 => body=
2011-06-23 11:31:52Z TRACE: RestClient: DELETE /test/foo?code=204: issuing callback
2011-06-23 11:31:52Z TRACE: RestClient: _processArguments => { options:
{ contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json' },
method: 'HEAD',
path: '/test/foo?code=200',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
query: { code: 200 },
expect: [ 200 ] },
callback: [Function] }
2011-06-23 11:31:52Z TRACE: RestClient(9c3b3c9, attempt=1): issuing request { contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json',
'content-length': 0,
Date: 'Sat, 23 Jul 2011 11:31:52 GMT' },
method: 'HEAD',
path: '/test/foo?code=200',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
query: { code: 200 },
expect: [ 200 ] }
2011-06-23 11:31:52Z TRACE: _sanitizePath: path=/test/foo?code=200
2011-06-23 11:31:52Z TRACE: _sanitizePath: returning /test/foo?code=200
2011-06-23 11:31:52Z TRACE: _parseHead:
HEAD /test/foo?code=200 HTTP/1.1
Headers: { 'x-api-version': '1.2.3',
accept: 'application/json',
'content-length': '0',
date: 'Sat, 23 Jul 2011 11:31:52 GMT',
connection: 'close' }
2011-06-23 11:31:52Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:52Z TRACE: No authorization header present.
2011-06-23 11:31:52Z TRACE: Date: sent=1311420712000, now=1311420712761, allowed=300000
2011-06-23 11:31:52Z TRACE: HEAD /test/foo?code=200 route found -> { method: 'HEAD',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function: handle] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:52Z TRACE: _parseRequest: params parsed as: { code: '200' }
2011-06-23 11:31:52Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:52 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': '35d9d895-3b22-4c1f-ab91-63fe96805d18',
'X-Response-Time': 1,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:52Z TRACE: RestClient(9c3b3c9): HEAD /test/foo?code=200 => code=200, headers={ connection: 'close',
date: 'Sat, 23 Jul 2011 11:31:52 GMT',
server: 'RESTify',
'x-api-version': '1.2.3',
'x-request-id': '35d9d895-3b22-4c1f-ab91-63fe96805d18',
'x-response-time': '1',
'access-control-allow-origin': '*',
'access-control-allow-methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'access-control-allow-headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'access-control-expose-headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }
2011-06-23 11:31:52Z TRACE: RestClient(9c3b3c9): HEAD /test/foo?code=200 => body=
2011-06-23 11:31:52Z TRACE: RestClient: HEAD /test/foo?code=200: issuing callback
2011-06-23 11:31:52Z TRACE: RestClient: _processArguments => { options:
{ contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json' },
method: 'HEAD',
path: '/test/foo?code=204',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
query: { code: 204 },
expect: [ 200, 204 ] },
callback: [Function] }
2011-06-23 11:31:52Z TRACE: RestClient(857ba5d, attempt=1): issuing request { contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json',
'content-length': 0,
Date: 'Sat, 23 Jul 2011 11:31:52 GMT' },
method: 'HEAD',
path: '/test/foo?code=204',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
query: { code: 204 },
expect: [ 200, 204 ] }
2011-06-23 11:31:52Z TRACE: _sanitizePath: path=/test/foo?code=204
2011-06-23 11:31:52Z TRACE: _sanitizePath: returning /test/foo?code=204
2011-06-23 11:31:52Z TRACE: _parseHead:
HEAD /test/foo?code=204 HTTP/1.1
Headers: { 'x-api-version': '1.2.3',
accept: 'application/json',
'content-length': '0',
date: 'Sat, 23 Jul 2011 11:31:52 GMT',
connection: 'close' }
2011-06-23 11:31:52Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:52Z TRACE: No authorization header present.
2011-06-23 11:31:52Z TRACE: Date: sent=1311420712000, now=1311420712764, allowed=300000
2011-06-23 11:31:52Z TRACE: HEAD /test/foo?code=204 route found -> { method: 'HEAD',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function: handle] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:52Z TRACE: _parseRequest: params parsed as: { code: '204' }
2011-06-23 11:31:52Z TRACE: response.send: code=204, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:52 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': '0661925c-45ae-4731-b246-d78e89a743a2',
'X-Response-Time': 1,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:52Z TRACE: RestClient(857ba5d): HEAD /test/foo?code=204 => code=204, headers={ connection: 'close',
date: 'Sat, 23 Jul 2011 11:31:52 GMT',
server: 'RESTify',
'x-api-version': '1.2.3',
'x-request-id': '0661925c-45ae-4731-b246-d78e89a743a2',
'x-response-time': '1',
'access-control-allow-origin': '*',
'access-control-allow-methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'access-control-allow-headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'access-control-expose-headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }
2011-06-23 11:31:52Z TRACE: RestClient(857ba5d): HEAD /test/foo?code=204 => body=
2011-06-23 11:31:52Z TRACE: RestClient: HEAD /test/foo?code=204: issuing callback
2011-06-23 11:31:52Z TRACE: RestClient: _processArguments => { options:
{ contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json' },
method: 'HEAD',
path: '/fail',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
expect: [ 200, 204 ] },
callback: [Function] }
2011-06-23 11:31:52Z TRACE: RestClient(7b8d0e8, attempt=1): issuing request { contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json',
'content-length': 0,
Date: 'Sat, 23 Jul 2011 11:31:52 GMT' },
method: 'HEAD',
path: '/fail',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
expect: [ 200, 204 ] }
2011-06-23 11:31:52Z TRACE: _sanitizePath: path=/fail
2011-06-23 11:31:52Z TRACE: _sanitizePath: returning /fail
2011-06-23 11:31:52Z TRACE: _parseHead:
HEAD /fail HTTP/1.1
Headers: { 'x-api-version': '1.2.3',
accept: 'application/json',
'content-length': '0',
date: 'Sat, 23 Jul 2011 11:31:52 GMT',
connection: 'close' }
2011-06-23 11:31:52Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:52Z TRACE: No authorization header present.
2011-06-23 11:31:52Z TRACE: Date: sent=1311420712000, now=1311420712767, allowed=300000
2011-06-23 11:31:52Z TRACE: HEAD /fail route found -> { method: 'HEAD',
url: '/fail',
regex: false,
handlers: { main: [ [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'fail' ] }
2011-06-23 11:31:52Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:52Z TRACE: response.send: code=503, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:52 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': '8130228c-4c5f-42bb-923d-ce50a4143b6e',
'X-Response-Time': 1,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, HEAD',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:52Z TRACE: RestClient(7b8d0e8): HEAD /fail => code=503, headers={ connection: 'close',
date: 'Sat, 23 Jul 2011 11:31:52 GMT',
server: 'RESTify',
'x-api-version': '1.2.3',
'x-request-id': '8130228c-4c5f-42bb-923d-ce50a4143b6e',
'x-response-time': '1',
'access-control-allow-origin': '*',
'access-control-allow-methods': 'OPTIONS, HEAD',
'access-control-allow-headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'access-control-expose-headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }
2011-06-23 11:31:52Z TRACE: RestClient(7b8d0e8): HEAD /fail => body=
2011-06-23 11:31:53Z TRACE: RestClient(7b8d0e8, attempt=2): issuing request { contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json',
'content-length': 0,
Date: 'Sat, 23 Jul 2011 11:31:52 GMT' },
method: 'HEAD',
path: '/fail',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
expect: [ 200, 204 ],
agent:
{ options:
{ contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json',
'content-type': 'application/json',
'content-length': 24,
'content-md5': '6OZh5d/F/Gssl71881jljA==',
Date: 'Sat, 23 Jul 2011 11:31:52 GMT' },
method: 'PUT',
path: '/test/foo',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
body: { foo: 'bar', code: 200 },
expect: [ 200 ],
host: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
agent: [Circular] },
host: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
port: 80,
queue: [],
sockets: [],
maxSockets: 5 } }
2011-06-23 11:31:53Z TRACE: _sanitizePath: path=/fail
2011-06-23 11:31:53Z TRACE: _sanitizePath: returning /fail
2011-06-23 11:31:53Z TRACE: _parseHead:
HEAD /fail HTTP/1.1
Headers: { 'x-api-version': '1.2.3',
accept: 'application/json',
'content-length': '0',
date: 'Sat, 23 Jul 2011 11:31:52 GMT',
connection: 'close' }
2011-06-23 11:31:53Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:53Z TRACE: No authorization header present.
2011-06-23 11:31:53Z TRACE: Date: sent=1311420712000, now=1311420713774, allowed=300000
2011-06-23 11:31:53Z TRACE: HEAD /fail route found -> { method: 'HEAD',
url: '/fail',
regex: false,
handlers: { main: [ [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'fail' ] }
2011-06-23 11:31:53Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:53Z TRACE: response.send: code=503, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:53 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': '3d5fc893-de06-465b-ac46-831c167d2f95',
'X-Response-Time': 2,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, HEAD',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:53Z TRACE: RestClient(7b8d0e8): HEAD /fail => code=503, headers={ connection: 'close',
date: 'Sat, 23 Jul 2011 11:31:53 GMT',
server: 'RESTify',
'x-api-version': '1.2.3',
'x-request-id': '3d5fc893-de06-465b-ac46-831c167d2f95',
'x-response-time': '2',
'access-control-allow-origin': '*',
'access-control-allow-methods': 'OPTIONS, HEAD',
'access-control-allow-headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'access-control-expose-headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }
2011-06-23 11:31:53Z TRACE: RestClient(7b8d0e8): HEAD /fail => body=
2011-06-23 11:31:53Z TRACE: RestClient: constructed { _log: [Function],
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
proto:
{ getAgent: [Function: getAgent],
Agent: [Object],
request: [Function],
get: [Function] },
path: '',
headers:
{ Accept: 'application/json',
'x-api-version': '1.2.3' },
retryOptions: { retries: 1 },
retryCallback: [Function: checkFor50x],
contentType: 'application/x-www-form-urlencoded',
noContentMD5: undefined }
2011-06-23 11:31:53Z TRACE: RestClient: _processArguments => { options:
{ contentType: 'application/x-www-form-urlencoded',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json' },
method: 'POST',
path: '/test/foo?code=200',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
query: { code: 200 },
body: { foo: 'bar' },
expect: [ 200, 201 ] },
callback: [Function] }
2011-06-23 11:31:53Z TRACE: RestClient(0a935cb, attempt=1): issuing request { contentType: 'application/x-www-form-urlencoded',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json',
'content-type': 'application/x-www-form-urlencoded',
'content-length': 7,
'content-md5': 'Bq1H2OZL0o3lN7Yv+FNXxA==',
Date: 'Sat, 23 Jul 2011 11:31:53 GMT' },
method: 'POST',
path: '/test/foo?code=200',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
query: { code: 200 },
body: { foo: 'bar' },
expect: [ 200, 201 ] }
2011-06-23 11:31:53Z TRACE: _sanitizePath: path=/test/foo?code=200
2011-06-23 11:31:53Z TRACE: _sanitizePath: returning /test/foo?code=200
2011-06-23 11:31:53Z TRACE: _parseHead:
POST /test/foo?code=200 HTTP/1.1
Headers: { 'x-api-version': '1.2.3',
accept: 'application/json',
'content-type': 'application/x-www-form-urlencoded',
'content-length': '7',
'content-md5': 'Bq1H2OZL0o3lN7Yv+FNXxA==',
date: 'Sat, 23 Jul 2011 11:31:53 GMT',
connection: 'close' }
2011-06-23 11:31:53Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:53Z TRACE: No authorization header present.
2011-06-23 11:31:53Z TRACE: Date: sent=1311420713000, now=1311420713786, allowed=300000
2011-06-23 11:31:53Z TRACE: POST /test/foo?code=200 route found -> { method: 'POST',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function: handle] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:53Z TRACE: _parseRequest: req.body=foo=bar
2011-06-23 11:31:53Z TRACE: _parseRequest: params parsed as: { code: '200', foo: 'bar' }
2011-06-23 11:31:53Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:53 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': 'ba92d4d0-8752-4515-90df-ea1f120c27c3',
'X-Response-Time': 3,
'Content-Length': 39,
'Content-MD5': 'yCwZ7e2l0tkN2JFH2nkCTg==',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body={"code":"200","foo":"bar","name":"foo"}
2011-06-23 11:31:53Z TRACE: RestClient(0a935cb): POST /test/foo?code=200 => code=200, headers={ connection: 'close',
date: 'Sat, 23 Jul 2011 11:31:53 GMT',
server: 'RESTify',
'x-api-version': '1.2.3',
'x-request-id': 'ba92d4d0-8752-4515-90df-ea1f120c27c3',
'x-response-time': '3',
'content-length': '39',
'content-md5': 'yCwZ7e2l0tkN2JFH2nkCTg==',
'content-type': 'application/json',
'access-control-allow-origin': '*',
'access-control-allow-methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'access-control-allow-headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'access-control-expose-headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }
2011-06-23 11:31:53Z TRACE: RestClient(0a935cb): POST /test/foo?code=200 => body={"code":"200","foo":"bar","name":"foo"}
2011-06-23 11:31:53Z TRACE: RestClient: POST /test/foo?code=200: issuing callback
2011-06-23 11:31:53Z TRACE: RestClient: _processArguments => { options:
{ contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json' },
method: 'HEAD',
path: '/test/foo?code=204',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
expect: [ 200, 204 ] },
callback: [Function] }
2011-06-23 11:31:53Z TRACE: RestClient(04cfff0, attempt=1): issuing request { contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json',
'content-length': 0,
Date: 'Sat, 23 Jul 2011 11:31:53 GMT' },
method: 'HEAD',
path: '/test/foo?code=204',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
expect: [ 200, 204 ] }
2011-06-23 11:31:53Z TRACE: _sanitizePath: path=/test/foo?code=204
2011-06-23 11:31:53Z TRACE: _sanitizePath: returning /test/foo?code=204
2011-06-23 11:31:53Z TRACE: _parseHead:
HEAD /test/foo?code=204 HTTP/1.1
Headers: { 'x-api-version': '1.2.3',
accept: 'application/json',
'content-length': '0',
date: 'Sat, 23 Jul 2011 11:31:53 GMT',
connection: 'close' }
2011-06-23 11:31:53Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:53Z TRACE: No authorization header present.
2011-06-23 11:31:53Z TRACE: Date: sent=1311420713000, now=1311420713790, allowed=300000
2011-06-23 11:31:53Z TRACE: HEAD /test/foo?code=204 route found -> { method: 'HEAD',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function: handle] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:53Z TRACE: _parseRequest: params parsed as: { code: '204' }
2011-06-23 11:31:53Z TRACE: response.send: code=204, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:53 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': '66d1a6fe-abb1-435f-adf9-81799616dc9b',
'X-Response-Time': 1,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:53Z TRACE: RestClient(04cfff0): HEAD /test/foo?code=204 => code=204, headers={ connection: 'close',
date: 'Sat, 23 Jul 2011 11:31:53 GMT',
server: 'RESTify',
'x-api-version': '1.2.3',
'x-request-id': '66d1a6fe-abb1-435f-adf9-81799616dc9b',
'x-response-time': '1',
'access-control-allow-origin': '*',
'access-control-allow-methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'access-control-allow-headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'access-control-expose-headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }
2011-06-23 11:31:53Z TRACE: RestClient(04cfff0): HEAD /test/foo?code=204 => body=
2011-06-23 11:31:53Z TRACE: RestClient: HEAD /test/foo?code=204: issuing callback
2011-06-23 11:31:53Z TRACE: RestClient: _processArguments => { options:
{ contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json' },
method: 'GET',
path: '/test/foo',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
expect: [ 200 ] },
callback: [Function] }
2011-06-23 11:31:53Z TRACE: RestClient(506ec6f, attempt=1): issuing request { contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json',
'content-length': 0,
Date: 'Sat, 23 Jul 2011 11:31:53 GMT' },
method: 'GET',
path: '/test/foo',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
expect: [ 200 ] }
2011-06-23 11:31:53Z TRACE: _sanitizePath: path=/test/foo
2011-06-23 11:31:53Z TRACE: _sanitizePath: returning /test/foo
2011-06-23 11:31:53Z TRACE: _parseHead:
GET /test/foo HTTP/1.1
Headers: { 'x-api-version': '1.2.3',
accept: 'application/json',
'content-length': '0',
date: 'Sat, 23 Jul 2011 11:31:53 GMT',
connection: 'close' }
2011-06-23 11:31:53Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:53Z TRACE: No authorization header present.
2011-06-23 11:31:53Z TRACE: Date: sent=1311420713000, now=1311420713793, allowed=300000
2011-06-23 11:31:53Z TRACE: GET /test/foo route found -> { method: 'GET',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function: handle] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:53Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:53Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:53 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': '92190f6b-686e-497c-89b4-b56db1858f15',
'X-Response-Time': 1,
'Content-Length': 14,
'Content-MD5': 'ULYTczVVnXr6wRRFePjheA==',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body={"name":"foo"}
2011-06-23 11:31:53Z TRACE: RestClient(506ec6f): GET /test/foo => code=200, headers={ connection: 'close',
date: 'Sat, 23 Jul 2011 11:31:53 GMT',
server: 'RESTify',
'x-api-version': '1.2.3',
'x-request-id': '92190f6b-686e-497c-89b4-b56db1858f15',
'x-response-time': '1',
'content-length': '14',
'content-md5': 'ULYTczVVnXr6wRRFePjheA==',
'content-type': 'application/json',
'access-control-allow-origin': '*',
'access-control-allow-methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'access-control-allow-headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'access-control-expose-headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }
2011-06-23 11:31:53Z TRACE: RestClient(506ec6f): GET /test/foo => body={"name":"foo"}
2011-06-23 11:31:53Z TRACE: RestClient: GET /test/foo: issuing callback
2011-06-23 11:31:53Z TRACE: RestClient: _processArguments => { options:
{ contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json' },
method: 'PUT',
path: '/test/foo',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
expect: [ 200, 201 ] },
callback: [Function] }
2011-06-23 11:31:53Z TRACE: RestClient(67f18a8, attempt=1): issuing request { contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json',
'content-length': 0,
Date: 'Sat, 23 Jul 2011 11:31:53 GMT' },
method: 'PUT',
path: '/test/foo',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
expect: [ 200, 201 ] }
2011-06-23 11:31:53Z TRACE: _sanitizePath: path=/test/foo
2011-06-23 11:31:53Z TRACE: _sanitizePath: returning /test/foo
2011-06-23 11:31:53Z TRACE: _parseHead:
PUT /test/foo HTTP/1.1
Headers: { 'x-api-version': '1.2.3',
accept: 'application/json',
'content-length': '0',
date: 'Sat, 23 Jul 2011 11:31:53 GMT',
connection: 'close' }
2011-06-23 11:31:53Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:53Z TRACE: No authorization header present.
2011-06-23 11:31:53Z TRACE: Date: sent=1311420713000, now=1311420713796, allowed=300000
2011-06-23 11:31:53Z TRACE: PUT /test/foo route found -> { method: 'PUT',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function: handle] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:53Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:53Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:53 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': '560dfb7c-fdf2-4e7e-9440-be0ed4c75233',
'X-Response-Time': 1,
'Content-Length': 14,
'Content-MD5': 'ULYTczVVnXr6wRRFePjheA==',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body={"name":"foo"}
2011-06-23 11:31:53Z TRACE: RestClient(67f18a8): PUT /test/foo => code=200, headers={ connection: 'close',
date: 'Sat, 23 Jul 2011 11:31:53 GMT',
server: 'RESTify',
'x-api-version': '1.2.3',
'x-request-id': '560dfb7c-fdf2-4e7e-9440-be0ed4c75233',
'x-response-time': '1',
'content-length': '14',
'content-md5': 'ULYTczVVnXr6wRRFePjheA==',
'content-type': 'application/json',
'access-control-allow-origin': '*',
'access-control-allow-methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'access-control-allow-headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'access-control-expose-headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }
2011-06-23 11:31:53Z TRACE: RestClient(67f18a8): PUT /test/foo => body={"name":"foo"}
2011-06-23 11:31:53Z TRACE: RestClient: PUT /test/foo: issuing callback
2011-06-23 11:31:53Z TRACE: RestClient: _processArguments => { options:
{ contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json' },
method: 'POST',
path: '/test/foo',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
expect: [ 200, 201 ] },
callback: [Function] }
2011-06-23 11:31:53Z TRACE: RestClient(5595f33, attempt=1): issuing request { contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json',
'content-length': 0,
Date: 'Sat, 23 Jul 2011 11:31:53 GMT' },
method: 'POST',
path: '/test/foo',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
expect: [ 200, 201 ] }
2011-06-23 11:31:53Z TRACE: _sanitizePath: path=/test/foo
2011-06-23 11:31:53Z TRACE: _sanitizePath: returning /test/foo
2011-06-23 11:31:53Z TRACE: _parseHead:
POST /test/foo HTTP/1.1
Headers: { 'x-api-version': '1.2.3',
accept: 'application/json',
'content-length': '0',
date: 'Sat, 23 Jul 2011 11:31:53 GMT',
connection: 'close' }
2011-06-23 11:31:53Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:53Z TRACE: No authorization header present.
2011-06-23 11:31:53Z TRACE: Date: sent=1311420713000, now=1311420713799, allowed=300000
2011-06-23 11:31:53Z TRACE: POST /test/foo route found -> { method: 'POST',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function: handle] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:53Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:53Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:53 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': 'e8c7fc47-6f3a-4590-8c24-98389795d507',
'X-Response-Time': 1,
'Content-Length': 14,
'Content-MD5': 'ULYTczVVnXr6wRRFePjheA==',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body={"name":"foo"}
2011-06-23 11:31:53Z TRACE: RestClient(5595f33): POST /test/foo => code=200, headers={ connection: 'close',
date: 'Sat, 23 Jul 2011 11:31:53 GMT',
server: 'RESTify',
'x-api-version': '1.2.3',
'x-request-id': 'e8c7fc47-6f3a-4590-8c24-98389795d507',
'x-response-time': '1',
'content-length': '14',
'content-md5': 'ULYTczVVnXr6wRRFePjheA==',
'content-type': 'application/json',
'access-control-allow-origin': '*',
'access-control-allow-methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'access-control-allow-headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'access-control-expose-headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }
2011-06-23 11:31:53Z TRACE: RestClient(5595f33): POST /test/foo => body={"name":"foo"}
2011-06-23 11:31:53Z TRACE: RestClient: POST /test/foo: issuing callback
2011-06-23 11:31:53Z TRACE: RestClient: _processArguments => { options:
{ contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json' },
method: 'DELETE',
path: '/test/foo',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
expect: [ 200, 202, 204 ] },
callback: [Function] }
2011-06-23 11:31:53Z TRACE: RestClient(79994a2, attempt=1): issuing request { contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json',
'content-length': 0,
Date: 'Sat, 23 Jul 2011 11:31:53 GMT' },
method: 'DELETE',
path: '/test/foo',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
expect: [ 200, 202, 204 ] }
2011-06-23 11:31:53Z TRACE: _sanitizePath: path=/test/foo
2011-06-23 11:31:53Z TRACE: _sanitizePath: returning /test/foo
2011-06-23 11:31:53Z TRACE: _parseHead:
DELETE /test/foo HTTP/1.1
Headers: { 'x-api-version': '1.2.3',
accept: 'application/json',
'content-length': '0',
date: 'Sat, 23 Jul 2011 11:31:53 GMT',
connection: 'close' }
2011-06-23 11:31:53Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:53Z TRACE: No authorization header present.
2011-06-23 11:31:53Z TRACE: Date: sent=1311420713000, now=1311420713802, allowed=300000
2011-06-23 11:31:53Z TRACE: DELETE /test/foo route found -> { method: 'DELETE',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function: handle] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:53Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:53Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:53 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': '1767ca7c-d182-4937-afa4-463108ec25b5',
'X-Response-Time': 1,
'Content-Length': 14,
'Content-MD5': 'ULYTczVVnXr6wRRFePjheA==',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body={"name":"foo"}
2011-06-23 11:31:53Z TRACE: RestClient(79994a2): DELETE /test/foo => code=200, headers={ connection: 'close',
date: 'Sat, 23 Jul 2011 11:31:53 GMT',
server: 'RESTify',
'x-api-version': '1.2.3',
'x-request-id': '1767ca7c-d182-4937-afa4-463108ec25b5',
'x-response-time': '1',
'content-length': '14',
'content-md5': 'ULYTczVVnXr6wRRFePjheA==',
'content-type': 'application/json',
'access-control-allow-origin': '*',
'access-control-allow-methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'access-control-allow-headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'access-control-expose-headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }
2011-06-23 11:31:53Z TRACE: RestClient(79994a2): DELETE /test/foo => body={"name":"foo"}
2011-06-23 11:31:53Z TRACE: RestClient: DELETE /test/foo: issuing callback
2011-06-23 11:31:53Z TRACE: RestClient: constructed { _log: [Function],
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
proto:
{ getAgent: [Function: getAgent],
Agent: [Object],
request: [Function],
get: [Function] },
path: '/test/foo',
headers:
{ Accept: 'application/json',
'x-api-version': '1.2.3' },
retryOptions: { retries: 1 },
retryCallback: [Function: checkFor50x],
contentType: 'application/json',
noContentMD5: undefined }
2011-06-23 11:31:53Z TRACE: RestClient: _processArguments => { options:
{ contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json' },
method: 'DELETE',
path: '/test/foo',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
expect: [ 200, 202, 204 ] },
callback: [Function] }
2011-06-23 11:31:53Z TRACE: RestClient(04d5f83, attempt=1): issuing request { contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json',
'content-length': 0,
Date: 'Sat, 23 Jul 2011 11:31:53 GMT' },
method: 'DELETE',
path: '/test/foo',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
expect: [ 200, 202, 204 ] }
2011-06-23 11:31:53Z TRACE: _sanitizePath: path=/test/foo
2011-06-23 11:31:53Z TRACE: _sanitizePath: returning /test/foo
2011-06-23 11:31:53Z TRACE: _parseHead:
DELETE /test/foo HTTP/1.1
Headers: { 'x-api-version': '1.2.3',
accept: 'application/json',
'content-length': '0',
date: 'Sat, 23 Jul 2011 11:31:53 GMT',
connection: 'close' }
2011-06-23 11:31:53Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:53Z TRACE: No authorization header present.
2011-06-23 11:31:53Z TRACE: Date: sent=1311420713000, now=1311420713806, allowed=300000
2011-06-23 11:31:53Z TRACE: DELETE /test/foo route found -> { method: 'DELETE',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function: handle] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:53Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:53Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:53 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': '3f95da67-e01c-40a7-bd3a-f5e06adce772',
'X-Response-Time': 1,
'Content-Length': 14,
'Content-MD5': 'ULYTczVVnXr6wRRFePjheA==',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body={"name":"foo"}
2011-06-23 11:31:53Z TRACE: RestClient(04d5f83): DELETE /test/foo => code=200, headers={ connection: 'close',
date: 'Sat, 23 Jul 2011 11:31:53 GMT',
server: 'RESTify',
'x-api-version': '1.2.3',
'x-request-id': '3f95da67-e01c-40a7-bd3a-f5e06adce772',
'x-response-time': '1',
'content-length': '14',
'content-md5': 'ULYTczVVnXr6wRRFePjheA==',
'content-type': 'application/json',
'access-control-allow-origin': '*',
'access-control-allow-methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'access-control-allow-headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'access-control-expose-headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }
2011-06-23 11:31:53Z TRACE: RestClient(04d5f83): DELETE /test/foo => body={"name":"foo"}
2011-06-23 11:31:53Z TRACE: RestClient: DELETE /test/foo: issuing callback
2011-06-23 11:31:53Z TRACE: RestClient: constructed { _log: [Function],
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
proto:
{ getAgent: [Function: getAgent],
Agent: [Object],
request: [Function],
get: [Function] },
path: '/test',
headers:
{ Accept: 'application/json',
'x-api-version': '1.2.3' },
retryOptions: { retries: 1 },
retryCallback: [Function: checkFor50x],
contentType: 'application/json',
noContentMD5: undefined }
2011-06-23 11:31:53Z TRACE: RestClient: _processArguments => { options:
{ contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json' },
method: 'DELETE',
path: '/test/foo',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
expect: [ 200, 202, 204 ] },
callback: [Function] }
2011-06-23 11:31:53Z TRACE: RestClient(78faa58, attempt=1): issuing request { contentType: 'application/json',
headers:
{ 'x-api-version': '1.2.3',
Accept: 'application/json',
'content-length': 0,
Date: 'Sat, 23 Jul 2011 11:31:53 GMT' },
method: 'DELETE',
path: '/test/foo',
socketPath: '/tmp/.d38454ee-eff5-4516-979d-7e5ec9db1aae',
expect: [ 200, 202, 204 ] }
2011-06-23 11:31:53Z TRACE: _sanitizePath: path=/test/foo
2011-06-23 11:31:53Z TRACE: _sanitizePath: returning /test/foo
2011-06-23 11:31:53Z TRACE: _parseHead:
DELETE /test/foo HTTP/1.1
Headers: { 'x-api-version': '1.2.3',
accept: 'application/json',
'content-length': '0',
date: 'Sat, 23 Jul 2011 11:31:53 GMT',
connection: 'close' }
2011-06-23 11:31:53Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:53Z TRACE: No authorization header present.
2011-06-23 11:31:53Z TRACE: Date: sent=1311420713000, now=1311420713809, allowed=300000
2011-06-23 11:31:53Z TRACE: DELETE /test/foo route found -> { method: 'DELETE',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function: handle] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:53Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:53Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:53 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': '8caf8d1b-3062-48cd-a2b5-420a422b42c9',
'X-Response-Time': 1,
'Content-Length': 14,
'Content-MD5': 'ULYTczVVnXr6wRRFePjheA==',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body={"name":"foo"}
2011-06-23 11:31:53Z TRACE: RestClient(78faa58): DELETE /test/foo => code=200, headers={ connection: 'close',
date: 'Sat, 23 Jul 2011 11:31:53 GMT',
server: 'RESTify',
'x-api-version': '1.2.3',
'x-request-id': '8caf8d1b-3062-48cd-a2b5-420a422b42c9',
'x-response-time': '1',
'content-length': '14',
'content-md5': 'ULYTczVVnXr6wRRFePjheA==',
'content-type': 'application/json',
'access-control-allow-origin': '*',
'access-control-allow-methods': 'OPTIONS, PUT, POST, GET, DELETE, HEAD',
'access-control-allow-headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'access-control-expose-headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }
2011-06-23 11:31:53Z TRACE: RestClient(78faa58): DELETE /test/foo => body={"name":"foo"}
2011-06-23 11:31:53Z TRACE: RestClient: DELETE /test/foo: issuing callback
/home/ben/Code/fittingly/server/lib/node-restify/tst/accept.test.js
test_accept_default [OK]
test_accept_bad [OK]
test_accept_partial_wildcard [OK]
test_accept_double_wildcard [OK]
test_accept_explicit [OK]
test_multiple_accept [OK]
test_firefox_accept [OK]
Stderr:
2011-06-23 11:31:53Z TRACE: server will accept types: [ 'application/json' ]
2011-06-23 11:31:53Z TRACE: server: adding route { method: 'GET',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
urlComponents: [ '' ] }
2011-06-23 11:31:53Z TRACE: _sanitizePath: path=/
2011-06-23 11:31:53Z TRACE: _sanitizePath: returning /
2011-06-23 11:31:53Z TRACE: _parseHead:
GET / HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/json',
'x-api-version': '1.2.3',
host: '/tmp/.3fcb9abc-ea9a-47ff-95d1-6201660f2141',
connection: 'close' }
2011-06-23 11:31:53Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:53Z TRACE: No authorization header present.
2011-06-23 11:31:53Z TRACE: GET / route found -> { method: 'GET',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
urlComponents: [ '' ] }
2011-06-23 11:31:53Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:53Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:53 GMT',
Server: 'node.js',
'X-Request-Id': '045a5147-cf3b-46f4-882b-200135474f00',
'X-Response-Time': 1,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, GET',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:53Z TRACE: server will accept types: [ 'application/json' ]
2011-06-23 11:31:53Z TRACE: server: adding route { method: 'GET',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
urlComponents: [ '' ] }
2011-06-23 11:31:53Z TRACE: _sanitizePath: path=/
2011-06-23 11:31:53Z TRACE: _sanitizePath: returning /
2011-06-23 11:31:53Z TRACE: _parseHead:
GET / HTTP/1.1
Headers: { accept: 'application/xml',
'content-type': 'application/json',
'x-api-version': '1.2.3',
host: '/tmp/.38ba0a91-122b-461d-be83-87b300a9e2a2',
connection: 'close' }
2011-06-23 11:31:53Z TRACE: response.send: code=406, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:53 GMT',
Server: 'node.js',
'X-Request-Id': 'bb2df753-fa5f-41bc-bac0-76effcde8e01',
'X-Response-Time': 1,
'Content-Length': 15,
'Content-MD5': 'FEGnkJwIfbvnzlmIG534uQ==',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=[object Object]
2011-06-23 11:31:53Z WARN: ErrorSent(requestId=bb2df753-fa5f-41bc-bac0-76effcde8e01): HttpCode=406, RestCode=InvalidArgument, message=application/xml unsupported:
HttpError: application/xml unsupported
at /home/ben/Code/fittingly/server/lib/node-restify/lib/error.js:21:13
at _parseAccept (/home/ben/Code/fittingly/server/lib/node-restify/lib/server.js:126:22)
at _parseHead (/home/ben/Code/fittingly/server/lib/node-restify/lib/server.js:267:8)
at Server.httpMain (/home/ben/Code/fittingly/server/lib/node-restify/lib/server.js:532:12)
at Server.emit (events.js:67:17)
at HTTPParser.onIncoming (http.js:1102:12)
at HTTPParser.onHeadersComplete (http.js:108:31)
at Socket.ondata (http.js:1001:22)
at Socket._onReadable (net.js:678:27)
at IOWatcher.onReadable [as callback] (net.js:177:10)
2011-06-23 11:31:53Z TRACE: server will accept types: [ 'application/json' ]
2011-06-23 11:31:53Z TRACE: server: adding route { method: 'GET',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
urlComponents: [ '' ] }
2011-06-23 11:31:53Z TRACE: _sanitizePath: path=/
2011-06-23 11:31:53Z TRACE: _sanitizePath: returning /
2011-06-23 11:31:53Z TRACE: _parseHead:
GET / HTTP/1.1
Headers: { accept: 'application/*',
'content-type': 'application/json',
'x-api-version': '1.2.3',
host: '/tmp/.2697530a-920d-4cec-b7cc-9ef2df7d73e8',
connection: 'close' }
2011-06-23 11:31:53Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:53Z TRACE: No authorization header present.
2011-06-23 11:31:53Z TRACE: GET / route found -> { method: 'GET',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
urlComponents: [ '' ] }
2011-06-23 11:31:53Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:53Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:53 GMT',
Server: 'node.js',
'X-Request-Id': '81c30790-f9fd-4f85-9b80-d6b6cbd65ca9',
'X-Response-Time': 5,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, GET',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:53Z TRACE: server will accept types: [ 'application/json' ]
2011-06-23 11:31:53Z TRACE: server: adding route { method: 'GET',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
urlComponents: [ '' ] }
2011-06-23 11:31:53Z TRACE: _sanitizePath: path=/
2011-06-23 11:31:53Z TRACE: _sanitizePath: returning /
2011-06-23 11:31:53Z TRACE: _parseHead:
GET / HTTP/1.1
Headers: { accept: '*/*',
'content-type': 'application/json',
'x-api-version': '1.2.3',
host: '/tmp/.d8d3df9d-bb68-4090-acc6-0e699ff0f947',
connection: 'close' }
2011-06-23 11:31:53Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:53Z TRACE: No authorization header present.
2011-06-23 11:31:53Z TRACE: GET / route found -> { method: 'GET',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
urlComponents: [ '' ] }
2011-06-23 11:31:53Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:53Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:53 GMT',
Server: 'node.js',
'X-Request-Id': 'b57c64d0-acb6-4de1-b10d-f24e40528700',
'X-Response-Time': 1,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, GET',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:53Z TRACE: server will accept types: [ 'text/html' ]
2011-06-23 11:31:53Z TRACE: server: adding route { method: 'GET',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
urlComponents: [ '' ] }
2011-06-23 11:31:53Z TRACE: _sanitizePath: path=/
2011-06-23 11:31:53Z TRACE: _sanitizePath: returning /
2011-06-23 11:31:53Z TRACE: _parseHead:
GET / HTTP/1.1
Headers: { accept: 'text/html',
'content-type': 'application/json',
'x-api-version': '1.2.3',
host: '/tmp/.23eee853-3107-44ea-b792-e898983269bb',
connection: 'close' }
2011-06-23 11:31:53Z TRACE: Parsed accept type as: text/html
2011-06-23 11:31:53Z TRACE: No authorization header present.
2011-06-23 11:31:53Z TRACE: GET / route found -> { method: 'GET',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
urlComponents: [ '' ] }
2011-06-23 11:31:53Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:53Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:53 GMT',
Server: 'node.js',
'X-Request-Id': '927c5244-6dbf-4a8f-88e6-7492679671a2',
'X-Response-Time': 1,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, GET',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:53Z TRACE: server will accept types: [ 'text/html', 'text/xml' ]
2011-06-23 11:31:53Z TRACE: server: adding route { method: 'GET',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
urlComponents: [ '' ] }
2011-06-23 11:31:53Z TRACE: _sanitizePath: path=/
2011-06-23 11:31:53Z TRACE: _sanitizePath: returning /
2011-06-23 11:31:53Z TRACE: _parseHead:
GET / HTTP/1.1
Headers: { accept: 'text/xml',
'content-type': 'application/json',
'x-api-version': '1.2.3',
host: '/tmp/.2acef682-d9ed-4872-b487-a8c385998300',
connection: 'close' }
2011-06-23 11:31:53Z TRACE: Parsed accept type as: text/xml
2011-06-23 11:31:53Z TRACE: No authorization header present.
2011-06-23 11:31:53Z TRACE: GET / route found -> { method: 'GET',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
urlComponents: [ '' ] }
2011-06-23 11:31:53Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:53Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:53 GMT',
Server: 'node.js',
'X-Request-Id': '3b341a54-2952-441e-998f-8521613e03a1',
'X-Response-Time': 1,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, GET',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:53Z TRACE: server will accept types: [ 'application/json' ]
2011-06-23 11:31:53Z TRACE: server: adding route { method: 'GET',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
urlComponents: [ '' ] }
2011-06-23 11:31:53Z TRACE: _sanitizePath: path=/
2011-06-23 11:31:53Z TRACE: _sanitizePath: returning /
2011-06-23 11:31:53Z TRACE: _parseHead:
GET / HTTP/1.1
Headers: { accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'content-type': 'application/json',
'x-api-version': '1.2.3',
host: '/tmp/.a7b123cd-abb2-4e2e-9351-96444407939b',
connection: 'close' }
2011-06-23 11:31:53Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:53Z TRACE: No authorization header present.
2011-06-23 11:31:53Z TRACE: GET / route found -> { method: 'GET',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
urlComponents: [ '' ] }
2011-06-23 11:31:53Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:53Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:53 GMT',
Server: 'node.js',
'X-Request-Id': '71b3fba5-d756-459b-bfba-de0a55fbe4ac',
'X-Response-Time': 1,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, GET',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
Stdout:
unknown - - [23/06/2011:11:31:53 GMT] "GET / HTTP/1.1" undefined 15 1
/home/ben/Code/fittingly/server/lib/node-restify/tst/throttle.test.js
setUp [OK]
test_ok [OK]
test_throttled [OK]
test_ok_after_window [OK]
test_override_limited [OK]
test_override_unlimited [OK]
tearDown [OK]
Stderr:
2011-06-23 11:31:54Z TRACE: server will accept types: [ 'application/json' ]
2011-06-23 11:31:54Z TRACE: server: adding route { method: 'GET',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function], [Function], [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:54Z TRACE: _sanitizePath: path=/test/throttleMe
2011-06-23 11:31:54Z TRACE: _sanitizePath: returning /test/throttleMe
2011-06-23 11:31:54Z TRACE: _parseHead:
GET /test/throttleMe HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/json',
'x-api-version': '1.2.3',
host: '/tmp/.3a350ac6-e95f-4b68-a005-0a6ddeebf893',
connection: 'close' }
2011-06-23 11:31:54Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:54Z TRACE: No authorization header present.
2011-06-23 11:31:54Z TRACE: GET /test/throttleMe route found -> { method: 'GET',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function], [Function], [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:54Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:54Z TRACE: Throttle({ burst: 1,
rate: 0.5,
username: true,
overrides:
{ admin: { burst: 0, rate: 0 },
special: { burst: 3, rate: 1 } } }) attr=throttleMe: number of tokens): 1
2011-06-23 11:31:54Z TRACE: Throttle({ burst: 1,
rate: 0.5,
username: true,
overrides:
{ admin: { burst: 0, rate: 0 },
special: { burst: 3, rate: 1 } } }) attr=throttleMe: allowed (tokens=0).
2011-06-23 11:31:54Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:54 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': 'bf526eff-f863-46f4-8ac0-7c34a9a5c3d0',
'X-Response-Time': 3,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, GET',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:54Z TRACE: _sanitizePath: path=/test/throttleMe
2011-06-23 11:31:54Z TRACE: _sanitizePath: returning /test/throttleMe
2011-06-23 11:31:54Z TRACE: _parseHead:
GET /test/throttleMe HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/json',
'x-api-version': '1.2.3',
connection: 'close' }
2011-06-23 11:31:54Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:54Z TRACE: No authorization header present.
2011-06-23 11:31:54Z TRACE: GET /test/throttleMe route found -> { method: 'GET',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function], [Function], [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:54Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:54Z TRACE: Throttle({ burst: 1,
rate: 0.5,
username: true,
overrides:
{ admin: { burst: 0, rate: 0 },
special: { burst: 3, rate: 1 } } }) attr=throttleMe: number of tokens): 0
2011-06-23 11:31:54Z INFO: Throttling throttleMe@UnknownAddress GET /test/throttleMe
2011-06-23 11:31:54Z TRACE: response.send: code=420, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:54 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': '94d9966d-44ab-49c8-aefd-c2736eb88d0b',
'X-Response-Time': 2,
'Content-Length': 87,
'Content-MD5': 'yRSjSwZHxwNwVToVDwiehw==',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, GET',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body={"code":"RequestThrottled","message":"You have exceeded your request rate of 0.5 r/s."}
2011-06-23 11:31:54Z WARN: ErrorSent(requestId=94d9966d-44ab-49c8-aefd-c2736eb88d0b): HttpCode=420, RestCode=RequestThrottled, message=You have exceeded your request rate of 0.5 r/s.:
HttpError: You have exceeded your request rate of 0.5 r/s.
at /home/ben/Code/fittingly/server/lib/node-restify/lib/error.js:21:13
at /home/ben/Code/fittingly/server/lib/node-restify/lib/throttle.js:212:23
at /home/ben/Code/fittingly/server/lib/node-restify/lib/server.js:609:44
at /home/ben/Code/fittingly/server/lib/node-restify/tst/throttle.test.js:47:23
at /home/ben/Code/fittingly/server/lib/node-restify/lib/server.js:609:44
at IncomingMessage.<anonymous> (/home/ben/Code/fittingly/server/lib/node-restify/lib/server.js:372:14)
at IncomingMessage.emit (events.js:61:17)
at HTTPParser.onMessageComplete (http.js:132:23)
at Socket.ondata (http.js:1001:22)
at Socket._onReadable (net.js:678:27)
2011-06-23 11:31:54Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:54 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': '94d9966d-44ab-49c8-aefd-c2736eb88d0b',
'X-Response-Time': 7,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, GET',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:56Z TRACE: _sanitizePath: path=/test/throttleMe
2011-06-23 11:31:56Z TRACE: _sanitizePath: returning /test/throttleMe
2011-06-23 11:31:56Z TRACE: _parseHead:
GET /test/throttleMe HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/json',
'x-api-version': '1.2.3',
connection: 'close' }
2011-06-23 11:31:56Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:56Z TRACE: No authorization header present.
2011-06-23 11:31:56Z TRACE: GET /test/throttleMe route found -> { method: 'GET',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function], [Function], [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:56Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:56Z TRACE: Throttle({ burst: 1,
rate: 0.5,
username: true,
overrides:
{ admin: { burst: 0, rate: 0 },
special: { burst: 3, rate: 1 } } }) attr=throttleMe: number of tokens): 0
2011-06-23 11:31:56Z TRACE: Throttle({ burst: 1,
rate: 0.5,
username: true,
overrides:
{ admin: { burst: 0, rate: 0 },
special: { burst: 3, rate: 1 } } }) attr=throttleMe: allowed (tokens=0).
2011-06-23 11:31:56Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:56 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': '57aa224e-63df-4632-8149-793eaa2e18cc',
'X-Response-Time': 5,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, GET',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:56Z TRACE: _sanitizePath: path=/test/special
2011-06-23 11:31:56Z TRACE: _sanitizePath: returning /test/special
2011-06-23 11:31:56Z TRACE: _parseHead:
GET /test/special HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/json',
'x-api-version': '1.2.3',
connection: 'close' }
2011-06-23 11:31:56Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:56Z TRACE: No authorization header present.
2011-06-23 11:31:56Z TRACE: GET /test/special route found -> { method: 'GET',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function], [Function], [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:56Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:56Z TRACE: Throttle({ burst: 1,
rate: 0.5,
username: true,
overrides:
{ admin: { burst: 0, rate: 0 },
special: { burst: 3, rate: 1 } } }) attr=special: number of tokens): 3
2011-06-23 11:31:56Z TRACE: Throttle({ burst: 1,
rate: 0.5,
username: true,
overrides:
{ admin: { burst: 0, rate: 0 },
special: { burst: 3, rate: 1 } } }) attr=special: allowed (tokens=2).
2011-06-23 11:31:56Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:56 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': 'c5e81559-a7e2-4ecc-ad73-2e0c3f5e5d52',
'X-Response-Time': 3,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, GET',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:56Z TRACE: _sanitizePath: path=/test/special
2011-06-23 11:31:56Z TRACE: _sanitizePath: returning /test/special
2011-06-23 11:31:56Z TRACE: _parseHead:
GET /test/special HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/json',
'x-api-version': '1.2.3',
connection: 'close' }
2011-06-23 11:31:56Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:56Z TRACE: No authorization header present.
2011-06-23 11:31:56Z TRACE: GET /test/special route found -> { method: 'GET',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function], [Function], [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:56Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:56Z TRACE: Throttle({ burst: 1,
rate: 0.5,
username: true,
overrides:
{ admin: { burst: 0, rate: 0 },
special: { burst: 3, rate: 1 } } }) attr=special: number of tokens): 2
2011-06-23 11:31:56Z TRACE: Throttle({ burst: 1,
rate: 0.5,
username: true,
overrides:
{ admin: { burst: 0, rate: 0 },
special: { burst: 3, rate: 1 } } }) attr=special: allowed (tokens=1).
2011-06-23 11:31:56Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:56 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': 'fc4e041f-c3eb-4a27-a87f-29bba410dfe9',
'X-Response-Time': 2,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, GET',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:56Z TRACE: _sanitizePath: path=/test/admin
2011-06-23 11:31:56Z TRACE: _sanitizePath: returning /test/admin
2011-06-23 11:31:56Z TRACE: _parseHead:
GET /test/admin HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/json',
'x-api-version': '1.2.3',
connection: 'close' }
2011-06-23 11:31:56Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:56Z TRACE: No authorization header present.
2011-06-23 11:31:56Z TRACE: GET /test/admin route found -> { method: 'GET',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function], [Function], [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:56Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:56Z TRACE: Throttle({ burst: 1,
rate: 0.5,
username: true,
overrides:
{ admin: { burst: 0, rate: 0 },
special: { burst: 3, rate: 1 } } }): unlimited request rate for admin
2011-06-23 11:31:56Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:56 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': 'ceed0ac6-b141-475e-9f3d-96f050ac9042',
'X-Response-Time': 1,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, GET',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:56Z TRACE: _sanitizePath: path=/test/admin
2011-06-23 11:31:56Z TRACE: _sanitizePath: returning /test/admin
2011-06-23 11:31:56Z TRACE: _parseHead:
GET /test/admin HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/json',
'x-api-version': '1.2.3',
connection: 'close' }
2011-06-23 11:31:56Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:56Z TRACE: No authorization header present.
2011-06-23 11:31:56Z TRACE: GET /test/admin route found -> { method: 'GET',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function], [Function], [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:56Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:56Z TRACE: Throttle({ burst: 1,
rate: 0.5,
username: true,
overrides:
{ admin: { burst: 0, rate: 0 },
special: { burst: 3, rate: 1 } } }): unlimited request rate for admin
2011-06-23 11:31:56Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:56 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': '6c8bc7d4-f7f7-4b5b-b69c-aa0cd9472805',
'X-Response-Time': 1,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, GET',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
/home/ben/Code/fittingly/server/lib/node-restify/tst/put.test.js
setUp [OK]
test_bad_method [OK]
test_not_found [OK]
test_success [OK]
tearDown [OK]
Stderr:
2011-06-23 11:31:56Z TRACE: server will accept types: [ 'application/json' ]
2011-06-23 11:31:56Z TRACE: server: adding route { method: 'PUT',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:56Z TRACE: _sanitizePath: path=/test/unit
2011-06-23 11:31:56Z TRACE: _sanitizePath: returning /test/unit
2011-06-23 11:31:56Z TRACE: _parseHead:
POST /test/unit HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/json',
'x-api-version': '1.2.3',
host: '/tmp/.b093463d-c7e5-4210-946a-c3fa25ae3893',
connection: 'close',
'transfer-encoding': 'chunked' }
2011-06-23 11:31:56Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:56Z TRACE: No authorization header present.
2011-06-23 11:31:56Z TRACE: response.send: code=405, headers={ 'x-api-versions': '1.2.3',
Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:56 GMT',
Server: 'RESTify',
'X-Request-Id': 'bc5c6c6f-ca77-48c6-a583-f218abed25cb',
'X-Response-Time': 0,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'PUT',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:56Z TRACE: _sanitizePath: path=/6d9f3f30-91e5-4fac-a45f-be44e6203373
2011-06-23 11:31:56Z TRACE: _sanitizePath: returning /6d9f3f30-91e5-4fac-a45f-be44e6203373
2011-06-23 11:31:56Z TRACE: _parseHead:
PUT /6d9f3f30-91e5-4fac-a45f-be44e6203373 HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/json',
'x-api-version': '1.2.3',
connection: 'close',
'transfer-encoding': 'chunked' }
2011-06-23 11:31:56Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:56Z TRACE: No authorization header present.
2011-06-23 11:31:56Z TRACE: response.send: code=404, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:56 GMT',
Server: 'RESTify',
'X-Request-Id': 'bf5bb216-8bc5-4eaf-bf80-fb1bf3473a0d',
'X-Response-Time': 0,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:56Z TRACE: _sanitizePath: path=/test/unit
2011-06-23 11:31:56Z TRACE: _sanitizePath: returning /test/unit
2011-06-23 11:31:56Z TRACE: _parseHead:
PUT /test/unit HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/json',
'x-api-version': '1.2.3',
connection: 'close',
'transfer-encoding': 'chunked' }
2011-06-23 11:31:56Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:56Z TRACE: No authorization header present.
2011-06-23 11:31:56Z TRACE: PUT /test/unit route found -> { method: 'PUT',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:56Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:56Z TRACE: response.send: code=204, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:56 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': 'd5cb931c-c462-416f-9901-4776037529b2',
'X-Response-Time': 2,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, PUT',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
Stdout:
unknown - anonymous [23/06/2011:11:31:56 GMT] "POST /test/unit HTTP/1.1" undefined 0 0
unknown - anonymous [23/06/2011:11:31:56 GMT] "PUT /6d9f3f30-91e5-4fac-a45f-be44e6203373 HTTP/1.1" undefined 0 0
/home/ben/Code/fittingly/server/lib/node-restify/tst/post.test.js
setUp [OK]
test_bad_method [OK]
test_not_found [OK]
test_basic_success [OK]
test_query_param [OK]
test_json_param [FAIL]
Exception
AssertionError: 200 == 400
at Object.equal (/home/ben/Code/fittingly/server/lib/node-restify/node_modules/whiskey/lib/assert.js:323:29)
at ClientRequest.<anonymous> (/home/ben/Code/fittingly/server/lib/node-restify/tst/post.test.js:104:12)
at ClientRequest.g (events.js:147:14)
at ClientRequest.emit (events.js:64:17)
at HTTPParser.onIncoming (http.js:1329:9)
at HTTPParser.onHeadersComplete (http.js:108:31)
at Socket.ondata (http.js:1206:22)
at Socket._onReadable (net.js:678:27)
at IOWatcher.onReadable [as callback] (net.js:177:10)
test_json_param_content_length [FAIL]
Exception
AssertionError: 200 == 400
at Object.equal (/home/ben/Code/fittingly/server/lib/node-restify/node_modules/whiskey/lib/assert.js:323:29)
at ClientRequest.<anonymous> (/home/ben/Code/fittingly/server/lib/node-restify/tst/post.test.js:126:12)
at ClientRequest.g (events.js:147:14)
at ClientRequest.emit (events.js:64:17)
at HTTPParser.onIncoming (http.js:1329:9)
at HTTPParser.onHeadersComplete (http.js:108:31)
at Socket.ondata (http.js:1206:22)
at Socket._onReadable (net.js:678:27)
at IOWatcher.onReadable [as callback] (net.js:177:10)
test_form_param [OK]
test_merge_params [OK]
test_multibyte [OK]
tearDown [OK]
Stderr:
2011-06-23 11:31:56Z TRACE: server will accept types: [ 'application/json' ]
2011-06-23 11:31:56Z TRACE: server: adding route { method: 'POST',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:56Z TRACE: _sanitizePath: path=/test/unit
2011-06-23 11:31:56Z TRACE: _sanitizePath: returning /test/unit
2011-06-23 11:31:56Z TRACE: _parseHead:
GET /test/unit HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/json',
'x-api-version': '1.2.3',
host: '/tmp/.22d6a3ff-fad2-4ad3-ae82-3eed8128b9a5',
connection: 'close' }
2011-06-23 11:31:56Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:56Z TRACE: No authorization header present.
2011-06-23 11:31:56Z TRACE: response.send: code=405, headers={ 'x-api-versions': '1.2.3',
Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:56 GMT',
Server: 'RESTify',
'X-Request-Id': '3f44b58e-2a60-49b5-b128-61e921754baf',
'X-Response-Time': 1,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'POST',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:56Z TRACE: _sanitizePath: path=/eb936999-b359-435e-91cb-35f873c14cd3
2011-06-23 11:31:56Z TRACE: _sanitizePath: returning /eb936999-b359-435e-91cb-35f873c14cd3
2011-06-23 11:31:56Z TRACE: _parseHead:
POST /eb936999-b359-435e-91cb-35f873c14cd3 HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/json',
'x-api-version': '1.2.3',
connection: 'close',
'transfer-encoding': 'chunked' }
2011-06-23 11:31:56Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:56Z TRACE: No authorization header present.
2011-06-23 11:31:56Z TRACE: response.send: code=404, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:56 GMT',
Server: 'RESTify',
'X-Request-Id': '316a2ff6-8109-48e0-bd7e-171c039b0ff4',
'X-Response-Time': 1,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:56Z TRACE: _sanitizePath: path=/test/67b4ff99-3f17-4323-ac7a-5a7d2785ce1d
2011-06-23 11:31:56Z TRACE: _sanitizePath: returning /test/67b4ff99-3f17-4323-ac7a-5a7d2785ce1d
2011-06-23 11:31:56Z TRACE: _parseHead:
POST /test/67b4ff99-3f17-4323-ac7a-5a7d2785ce1d HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/json',
'x-api-version': '1.2.3',
connection: 'close',
'transfer-encoding': 'chunked' }
2011-06-23 11:31:56Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:56Z TRACE: No authorization header present.
2011-06-23 11:31:56Z TRACE: POST /test/67b4ff99-3f17-4323-ac7a-5a7d2785ce1d route found -> { method: 'POST',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:56Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:56Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:56 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': 'd7663460-97bd-44c6-a3d3-08bbdf720da6',
'X-Response-Time': 1,
'Content-Length': 47,
'Content-MD5': 'j+0ZQzAMpNRKCzXeh0NtRg==',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, POST',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body={"name":"67b4ff99-3f17-4323-ac7a-5a7d2785ce1d"}
2011-06-23 11:31:56Z TRACE: _sanitizePath: path=/test/939ad6d4-ba76-4109-93bd-69e7cdba64ff?query=foo
2011-06-23 11:31:56Z TRACE: _sanitizePath: returning /test/939ad6d4-ba76-4109-93bd-69e7cdba64ff?query=foo
2011-06-23 11:31:56Z TRACE: _parseHead:
POST /test/939ad6d4-ba76-4109-93bd-69e7cdba64ff?query=foo HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/json',
'x-api-version': '1.2.3',
connection: 'close',
'transfer-encoding': 'chunked' }
2011-06-23 11:31:56Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:56Z TRACE: No authorization header present.
2011-06-23 11:31:56Z TRACE: POST /test/939ad6d4-ba76-4109-93bd-69e7cdba64ff?query=foo route found -> { method: 'POST',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:56Z TRACE: _parseRequest: params parsed as: { query: 'foo' }
2011-06-23 11:31:56Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:56 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': '88d78d82-9d96-466b-95d8-fbea738dd0cd',
'X-Response-Time': 1,
'Content-Length': 61,
'Content-MD5': 'YrMOGPQzoYWIsoyuA1IDcQ==',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, POST',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body={"name":"939ad6d4-ba76-4109-93bd-69e7cdba64ff","query":"foo"}
2011-06-23 11:31:56Z TRACE: _sanitizePath: path=/test/f6b9ddee-a6d7-4ebc-bff3-acd07f9004c1
2011-06-23 11:31:56Z TRACE: _sanitizePath: returning /test/f6b9ddee-a6d7-4ebc-bff3-acd07f9004c1
2011-06-23 11:31:56Z TRACE: _parseHead:
POST /test/f6b9ddee-a6d7-4ebc-bff3-acd07f9004c1 HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/json',
'x-api-version': '1.2.3',
connection: 'close',
'transfer-encoding': 'chunked' }
2011-06-23 11:31:56Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:56Z TRACE: No authorization header present.
2011-06-23 11:31:56Z TRACE: POST /test/f6b9ddee-a6d7-4ebc-bff3-acd07f9004c1 route found -> { method: 'POST',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:56Z TRACE: _parseRequest: req.body={"json":"foo"}
2011-06-23 11:31:56Z TRACE: response.send: code=400, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:56 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': '153d5ae0-3f20-4b11-a7c1-d2fa84922b0a',
'X-Response-Time': 6,
'Content-Length': 75,
'Content-MD5': 'zIuhUnxjxHyyGbCLlw6NQw==',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, POST',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body={"code":"InvalidArgument","message":"Invalid Content: body is not defined"}
2011-06-23 11:31:56Z WARN: ErrorSent(requestId=153d5ae0-3f20-4b11-a7c1-d2fa84922b0a): HttpCode=400, RestCode=InvalidArgument, message=Invalid Content: body is not defined:
HttpError: Invalid Content: body is not defined
at /home/ben/Code/fittingly/server/lib/node-restify/lib/error.js:21:13
at IncomingMessage.<anonymous> (/home/ben/Code/fittingly/server/lib/node-restify/lib/server.js:350:37)
at IncomingMessage.emit (events.js:61:17)
at HTTPParser.onMessageComplete (http.js:132:23)
at Socket.ondata (http.js:1001:22)
at Socket._onReadable (net.js:678:27)
at IOWatcher.onReadable [as callback] (net.js:177:10)
2011-06-23 11:31:56Z TRACE: _sanitizePath: path=/test/145620e9-6e52-4ca3-aed5-bd78e94ff431
2011-06-23 11:31:56Z TRACE: _sanitizePath: returning /test/145620e9-6e52-4ca3-aed5-bd78e94ff431
2011-06-23 11:31:56Z TRACE: _parseHead:
POST /test/145620e9-6e52-4ca3-aed5-bd78e94ff431 HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/json',
'x-api-version': '1.2.3',
'content-length': '14',
connection: 'close' }
2011-06-23 11:31:56Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:56Z TRACE: No authorization header present.
2011-06-23 11:31:56Z TRACE: POST /test/145620e9-6e52-4ca3-aed5-bd78e94ff431 route found -> { method: 'POST',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:56Z TRACE: _parseRequest: req.body={"json":"foo"}
2011-06-23 11:31:56Z TRACE: response.send: code=400, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:56 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': 'dd213001-0536-4e98-96e4-b993a56d1cfd',
'X-Response-Time': 1,
'Content-Length': 75,
'Content-MD5': 'zIuhUnxjxHyyGbCLlw6NQw==',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, POST',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body={"code":"InvalidArgument","message":"Invalid Content: body is not defined"}
2011-06-23 11:31:56Z WARN: ErrorSent(requestId=dd213001-0536-4e98-96e4-b993a56d1cfd): HttpCode=400, RestCode=InvalidArgument, message=Invalid Content: body is not defined:
HttpError: Invalid Content: body is not defined
at /home/ben/Code/fittingly/server/lib/node-restify/lib/error.js:21:13
at IncomingMessage.<anonymous> (/home/ben/Code/fittingly/server/lib/node-restify/lib/server.js:350:37)
at IncomingMessage.emit (events.js:61:17)
at HTTPParser.onMessageComplete (http.js:132:23)
at Socket.ondata (http.js:1001:22)
at Socket._onReadable (net.js:678:27)
at IOWatcher.onReadable [as callback] (net.js:177:10)
2011-06-23 11:31:56Z TRACE: _sanitizePath: path=/test/2f8ed0e3-6107-47ff-a6da-f110b40cbf12
2011-06-23 11:31:56Z TRACE: _sanitizePath: returning /test/2f8ed0e3-6107-47ff-a6da-f110b40cbf12
2011-06-23 11:31:56Z TRACE: _parseHead:
POST /test/2f8ed0e3-6107-47ff-a6da-f110b40cbf12 HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/x-www-form-urlencoded',
'x-api-version': '1.2.3',
connection: 'close',
'transfer-encoding': 'chunked' }
2011-06-23 11:31:56Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:56Z TRACE: No authorization header present.
2011-06-23 11:31:56Z TRACE: POST /test/2f8ed0e3-6107-47ff-a6da-f110b40cbf12 route found -> { method: 'POST',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:56Z TRACE: _parseRequest: req.body=form=bar
2011-06-23 11:31:56Z TRACE: _parseRequest: params parsed as: { form: 'bar' }
2011-06-23 11:31:56Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:56 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': '19f9e629-0355-4999-9750-3348eb81bda3',
'X-Response-Time': 1,
'Content-Length': 60,
'Content-MD5': '+1xzlTTSWz/gqNT2/IIjow==',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, POST',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body={"name":"2f8ed0e3-6107-47ff-a6da-f110b40cbf12","form":"bar"}
2011-06-23 11:31:56Z TRACE: _sanitizePath: path=/test/837d3fa1-dc07-44ef-9b21-49b7ace2e0c3?query=foo
2011-06-23 11:31:56Z TRACE: _sanitizePath: returning /test/837d3fa1-dc07-44ef-9b21-49b7ace2e0c3?query=foo
2011-06-23 11:31:56Z TRACE: _parseHead:
POST /test/837d3fa1-dc07-44ef-9b21-49b7ace2e0c3?query=foo HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/x-www-form-urlencoded',
'x-api-version': '1.2.3',
'content-length': '8',
connection: 'close' }
2011-06-23 11:31:56Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:56Z TRACE: No authorization header present.
2011-06-23 11:31:56Z TRACE: POST /test/837d3fa1-dc07-44ef-9b21-49b7ace2e0c3?query=foo route found -> { method: 'POST',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:56Z TRACE: _parseRequest: req.body=form=bar
2011-06-23 11:31:56Z TRACE: _parseRequest: params parsed as: { query: 'foo', form: 'bar' }
2011-06-23 11:31:56Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:56 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': '78a044be-ab54-42b8-89ae-862b8438f9a1',
'X-Response-Time': 1,
'Content-Length': 74,
'Content-MD5': 'efj5iJntT4HxUYTpjduR3g==',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, POST',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body={"name":"837d3fa1-dc07-44ef-9b21-49b7ace2e0c3","query":"foo","form":"bar"}
2011-06-23 11:31:56Z TRACE: _sanitizePath: path=/test/ae36ae97-b009-4c71-af8a-acbb42f0b4f9
2011-06-23 11:31:56Z TRACE: _sanitizePath: returning /test/ae36ae97-b009-4c71-af8a-acbb42f0b4f9
2011-06-23 11:31:56Z TRACE: _parseHead:
POST /test/ae36ae97-b009-4c71-af8a-acbb42f0b4f9 HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'text/plain',
'x-api-version': '1.2.3',
'content-length': '12',
connection: 'close' }
2011-06-23 11:31:56Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:56Z TRACE: No authorization header present.
2011-06-23 11:31:56Z TRACE: POST /test/ae36ae97-b009-4c71-af8a-acbb42f0b4f9 route found -> { method: 'POST',
url: '/test/:name',
regex: false,
handlers: { main: [ [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ 'test', ':name' ] }
2011-06-23 11:31:56Z TRACE: _parseRequest: req.body=½ + ¼ = ¾
2011-06-23 11:31:56Z TRACE: response.send: code=415, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:56 GMT',
Server: 'RESTify',
'X-Api-Version': '1.2.3',
'X-Request-Id': 'be7db114-fb99-4599-aa18-a9ccd9f8e157',
'X-Response-Time': 1,
'Content-Length': 61,
'Content-MD5': 'hrbgiN1oghdnoo1TpFXFjw==',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, POST',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body={"code":"InvalidArgument","message":"text/plain unsupported"}
2011-06-23 11:31:56Z WARN: ErrorSent(requestId=be7db114-fb99-4599-aa18-a9ccd9f8e157): HttpCode=415, RestCode=InvalidArgument, message=text/plain unsupported:
HttpError: text/plain unsupported
at /home/ben/Code/fittingly/server/lib/node-restify/lib/error.js:21:13
at IncomingMessage.<anonymous> (/home/ben/Code/fittingly/server/lib/node-restify/lib/server.js:343:39)
at IncomingMessage.emit (events.js:61:17)
at HTTPParser.onMessageComplete (http.js:132:23)
at Socket.ondata (http.js:1001:22)
at Socket._onReadable (net.js:678:27)
at IOWatcher.onReadable [as callback] (net.js:177:10)
Stdout:
unknown - anonymous [23/06/2011:11:31:56 GMT] "GET /test/unit HTTP/1.1" undefined 0 1
unknown - anonymous [23/06/2011:11:31:56 GMT] "POST /eb936999-b359-435e-91cb-35f873c14cd3 HTTP/1.1" undefined 0 1
/home/ben/Code/fittingly/server/lib/node-restify/tst/get.test.js
setUp [OK]
test_bad_method [OK]
test_not_found [OK]
test_get_root [OK]
test_get_with_uri_params [OK]
test_with_query_param [OK]
tearDown [OK]
Stdout:
unknown - anonymous [23/06/2011:11:31:56 GMT] "POST /test/unit HTTP/1.1" undefined 0 1
unknown - anonymous [23/06/2011:11:31:56 GMT] "DELETE /5fb8047c-296a-4428-b1cb-3931ea3a4e57 HTTP/1.1" undefined 0 0
/home/ben/Code/fittingly/server/lib/node-restify/tst/options.test.js
test_options_with_resource [OK]
test_options_wildcard_resource [OK]
test_create_default_version [OK]
test_explicit_version [OK]
Stderr:
2011-06-23 11:31:56Z TRACE: server will accept types: [ 'application/json' ]
2011-06-23 11:31:56Z TRACE: server: adding route { method: 'GET',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
urlComponents: [ '' ] }
2011-06-23 11:31:56Z TRACE: server: adding route { method: 'PUT',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
urlComponents: [ '' ] }
2011-06-23 11:31:56Z TRACE: server: adding route { method: 'DELETE',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
urlComponents: [ '' ] }
2011-06-23 11:31:56Z TRACE: _sanitizePath: path=/
2011-06-23 11:31:56Z TRACE: _sanitizePath: returning /
2011-06-23 11:31:56Z TRACE: _parseHead:
OPTIONS / HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/json',
'x-api-version': '1.2.3',
host: '/tmp/.912465f8-fa51-48f9-ac6f-663047f351c6',
connection: 'close',
'transfer-encoding': 'chunked' }
2011-06-23 11:31:56Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:56Z TRACE: No authorization header present.
2011-06-23 11:31:56Z TRACE: response.send: code=200, headers={ Allow: 'GET, PUT, DELETE',
Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:56 GMT',
Server: 'node.js',
'X-Request-Id': '1bfe8602-0f09-45d8-89de-c9c06f53c19c',
'X-Response-Time': 1,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET, PUT, DELETE',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:56Z TRACE: server will accept types: [ 'application/json' ]
2011-06-23 11:31:56Z TRACE: server: adding route { method: 'GET',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
urlComponents: [ '' ] }
2011-06-23 11:31:56Z TRACE: server: adding route { method: 'PUT',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
urlComponents: [ '' ] }
2011-06-23 11:31:56Z TRACE: server: adding route { method: 'DELETE',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
urlComponents: [ '' ] }
2011-06-23 11:31:56Z TRACE: _sanitizePath: path=*
2011-06-23 11:31:56Z TRACE: _sanitizePath: returning *
2011-06-23 11:31:56Z TRACE: _parseHead:
OPTIONS * HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/json',
'x-api-version': '1.2.3',
host: '/tmp/.1ba4e947-7ec2-4ee6-bfd1-bec659d03be6',
connection: 'close',
'transfer-encoding': 'chunked' }
2011-06-23 11:31:56Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:56Z TRACE: No authorization header present.
2011-06-23 11:31:56Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:56 GMT',
Server: 'node.js',
'X-Request-Id': '22db4f0e-f9af-47d0-b2f9-316542539686',
'X-Response-Time': 0,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:56Z TRACE: server will accept types: [ 'application/json' ]
2011-06-23 11:31:56Z TRACE: server: adding route { method: 'GET',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ '' ] }
2011-06-23 11:31:56Z TRACE: _sanitizePath: path=/
2011-06-23 11:31:56Z TRACE: _sanitizePath: returning /
2011-06-23 11:31:56Z TRACE: _parseHead:
GET / HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/json',
'x-api-version': '1.2.3',
host: '/tmp/.8f1f9bcc-66b5-4e67-b20e-19c6c649a28a',
connection: 'close' }
2011-06-23 11:31:56Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:56Z TRACE: No authorization header present.
2011-06-23 11:31:56Z TRACE: GET / route found -> { method: 'GET',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ '' ] }
2011-06-23 11:31:56Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:56Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:56 GMT',
Server: 'node.js',
'X-Api-Version': '1.2.3',
'X-Request-Id': '0de2316c-7e56-4d3e-85f6-9d1ac23b8a5d',
'X-Response-Time': 1,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, GET',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:56Z TRACE: server will accept types: [ 'application/json' ]
2011-06-23 11:31:56Z TRACE: server: adding route { method: 'GET',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ '' ] }
2011-06-23 11:31:56Z TRACE: _sanitizePath: path=/
2011-06-23 11:31:56Z TRACE: _sanitizePath: returning /
2011-06-23 11:31:56Z TRACE: _parseHead:
GET / HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/json',
'x-api-version': '1.2.3',
host: '/tmp/.50b79d0c-f9b5-49b1-b535-eec012e78d65',
connection: 'close' }
2011-06-23 11:31:56Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:56Z TRACE: No authorization header present.
2011-06-23 11:31:56Z TRACE: GET / route found -> { method: 'GET',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
version: '1.2.3',
semver: true,
urlComponents: [ '' ] }
2011-06-23 11:31:56Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:56Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:56 GMT',
Server: 'node.js',
'X-Api-Version': '1.2.3',
'X-Request-Id': 'b99aaa63-862f-43ba-aa56-7333eae11933',
'X-Response-Time': 1,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, GET',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
Stdout:
unknown - anonymous [23/06/2011:11:31:56 GMT] "OPTIONS / HTTP/1.1" undefined 0 1
unknown - anonymous [23/06/2011:11:31:56 GMT] "OPTIONS * HTTP/1.1" undefined 0 0
/home/ben/Code/fittingly/server/lib/node-restify/tst/log.test.js
test_log_stdout [OK]
test_log_off [OK]
Stderr:
2011-06-23 11:31:56Z TRACE: server will accept types: [ 'application/json' ]
2011-06-23 11:31:56Z TRACE: server: adding route { method: 'GET',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
urlComponents: [ '' ] }
2011-06-23 11:31:56Z TRACE: _sanitizePath: path=/
2011-06-23 11:31:56Z TRACE: _sanitizePath: returning /
2011-06-23 11:31:56Z TRACE: _parseHead:
GET / HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/json',
'x-api-version': '1.2.3',
host: '/tmp/.d344e794-92d1-417f-82f9-083db0d247d0',
connection: 'close' }
2011-06-23 11:31:56Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:56Z TRACE: No authorization header present.
2011-06-23 11:31:56Z TRACE: GET / route found -> { method: 'GET',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
urlComponents: [ '' ] }
2011-06-23 11:31:56Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:56Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:56 GMT',
Server: 'node.js',
'X-Request-Id': '41ea8c7f-5f04-4985-9042-84448851aea5',
'X-Response-Time': 1,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, GET',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
2011-06-23 11:31:56Z TRACE: server will accept types: [ 'application/json' ]
2011-06-23 11:31:56Z TRACE: server: adding route { method: 'GET',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
urlComponents: [ '' ] }
2011-06-23 11:31:56Z TRACE: _sanitizePath: path=/
2011-06-23 11:31:56Z TRACE: _sanitizePath: returning /
2011-06-23 11:31:56Z TRACE: _parseHead:
GET / HTTP/1.1
Headers: { accept: 'application/json',
'content-type': 'application/json',
'x-api-version': '1.2.3',
host: '/tmp/.05af04fb-a0ca-4992-ac57-da896b4cd47c',
connection: 'close' }
2011-06-23 11:31:56Z TRACE: Parsed accept type as: application/json
2011-06-23 11:31:56Z TRACE: No authorization header present.
2011-06-23 11:31:56Z TRACE: GET / route found -> { method: 'GET',
url: '/',
regex: false,
handlers: { main: [ [Function] ] },
urlComponents: [ '' ] }
2011-06-23 11:31:56Z TRACE: _parseRequest: params parsed as: {}
2011-06-23 11:31:56Z TRACE: response.send: code=200, headers={ Connection: 'close',
Date: 'Sat, 23 Jul 2011 11:31:56 GMT',
Server: 'node.js',
'X-Request-Id': 'ebb9b7c0-59b4-4941-8f38-575778499ee7',
'X-Response-Time': 1,
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'OPTIONS, GET',
'Access-Control-Allow-Headers': 'Accept, Content-Type, Content-Length, Date, X-Api-Version',
'Access-Control-Expose-Headers': 'X-Api-Version, X-Request-Id, X-Response-Time' }, body=undefined
---------------------------------------------------------------------------------
Ran 97 tests in 4.654s
Successes: 92
Failures: 5
Timeouts: 0
Skipped: 0
FAILED
npm ERR! restify@0.3.16 test: `whiskey --quiet --sequential --timeout 4000 -t "`find tst -name *.test.js | xargs`"`
npm ERR! `sh "-c" "whiskey --quiet --sequential --timeout 4000 -t \"`find tst -name *.test.js | xargs`\""` failed with 5
npm ERR!
npm ERR! Failed at the restify@0.3.16 test script.
npm ERR! This is most likely a problem with the restify package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! whiskey --quiet --sequential --timeout 4000 -t "`find tst -name *.test.js | xargs`"
npm ERR! You can get their info via:
npm ERR! npm owner ls restify
npm ERR! There is likely additional logging output above.
npm ERR!
npm ERR! System Linux 2.6.38-10-generic
npm ERR! command "node" "/usr/local/bin/npm" "test"
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/ben/Code/fittingly/server/lib/node-restify/npm-debug.log
npm not ok
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment