Created
July 23, 2011 12:28
-
-
Save anonymous/1101369 to your computer and use it in GitHub Desktop.
Ben Howes - npm test result
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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