root@pibridge:/home/pi/sonos-swagger-api-master# DEBUG=* node sonos.js [2018-07-28 09:03:39.975] [DEBUG] app.js - { port: 10010, staticWebRootPath: '/home/pi/sonos-swagger-api-master/static', ttsProvider: 'google', webRoot: 'http://localhost:10010', databasePath: '/home/pi/sonos-swagger-api-master/localDatabase' } sway:api Creating SwaggerApi from the provided document +0ms sway:api Paths: +15ms sway:api /players +11ms sway:api Operations: +0ms sway:api GET at #/paths/~1players/get +17ms sway:api Consumes: +0ms sway:api application/json +1ms sway:api Parameters: +0ms sway:api Produces: +0ms sway:api application/json +1ms sway:api Responses: +0ms sway:api 200 at #/paths/~1players/get/responses/200 +1ms sway:api default at #/paths/~1players/get/responses/default +1ms sway:api Security: +0ms sway:api /players/{playerName} +4ms sway:api playerName (in: path) at #/paths/~1players~1{playerName}/parameters/0 +3ms sway:api Operations: +1ms sway:api GET at #/paths/~1players~1{playerName}/get +12ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api Produces: +0ms sway:api application/json +1ms sway:api Responses: +0ms sway:api 200 at #/paths/~1players~1{playerName}/get/responses/200 +0ms sway:api default at #/paths/~1players~1{playerName}/get/responses/default +1ms sway:api Security: +0ms sway:api /players/{playerName}/state +1ms sway:api playerName (in: path) at #/paths/~1players~1{playerName}~1state/parameters/0 +1ms sway:api Operations: +0ms sway:api GET at #/paths/~1players~1{playerName}~1state/get +6ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api Produces: +0ms sway:api application/json +1ms sway:api Responses: +0ms sway:api 200 at #/paths/~1players~1{playerName}~1state/get/responses/200 +0ms sway:api default at #/paths/~1players~1{playerName}~1state/get/responses/default +1ms sway:api Security: +0ms sway:api PUT at #/paths/~1players~1{playerName}~1state/put +6ms sway:api Consumes: +1ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api async (in: query) at #/paths/~1players~1{playerName}~1state/put/parameters/0 +1ms sway:api body (in: body) at #/paths/~1players~1{playerName}~1state/put/parameters/1 +1ms sway:api Produces: +0ms sway:api application/json +1ms sway:api Responses: +0ms sway:api 201 at #/paths/~1players~1{playerName}~1state/put/responses/201 +0ms sway:api 202 at #/paths/~1players~1{playerName}~1state/put/responses/202 +1ms sway:api default at #/paths/~1players~1{playerName}~1state/put/responses/default +0ms sway:api Security: +0ms sway:api /players/{playerName}/nowplaying +1ms sway:api playerName (in: path) at #/paths/~1players~1{playerName}~1nowplaying/parameters/0 +1ms sway:api Operations: +0ms sway:api GET at #/paths/~1players~1{playerName}~1nowplaying/get +2ms sway:api Consumes: +1ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 200 at #/paths/~1players~1{playerName}~1nowplaying/get/responses/200 +1ms sway:api default at #/paths/~1players~1{playerName}~1nowplaying/get/responses/default +0ms sway:api Security: +0ms sway:api POST at #/paths/~1players~1{playerName}~1nowplaying/post +3ms sway:api Consumes: +1ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api async (in: query) at #/paths/~1players~1{playerName}~1nowplaying/post/parameters/0 +0ms sway:api body (in: body) at #/paths/~1players~1{playerName}~1nowplaying/post/parameters/1 +1ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 201 at #/paths/~1players~1{playerName}~1nowplaying/post/responses/201 +1ms sway:api 202 at #/paths/~1players~1{playerName}~1nowplaying/post/responses/202 +0ms sway:api default at #/paths/~1players~1{playerName}~1nowplaying/post/responses/default +0ms sway:api Security: +1ms sway:api /players/{playerName}/queue +1ms sway:api playerName (in: path) at #/paths/~1players~1{playerName}~1queue/parameters/0 +0ms sway:api Operations: +2ms sway:api GET at #/paths/~1players~1{playerName}~1queue/get +4ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api detailed (in: query) at #/paths/~1players~1{playerName}~1queue/get/parameters/0 +1ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 200 at #/paths/~1players~1{playerName}~1queue/get/responses/200 +1ms sway:api default at #/paths/~1players~1{playerName}~1queue/get/responses/default +0ms sway:api Security: +0ms sway:api PATCH at #/paths/~1players~1{playerName}~1queue/patch +3ms sway:api Consumes: +0ms sway:api application/json +1ms sway:api Parameters: +0ms sway:api async (in: query) at #/paths/~1players~1{playerName}~1queue/patch/parameters/0 +2ms sway:api body (in: body) at #/paths/~1players~1{playerName}~1queue/patch/parameters/1 +0ms sway:api Produces: +2ms sway:api application/json +0ms sway:api Responses: +1ms sway:api 200 at #/paths/~1players~1{playerName}~1queue/patch/responses/200 +0ms sway:api 202 at #/paths/~1players~1{playerName}~1queue/patch/responses/202 +1ms sway:api default at #/paths/~1players~1{playerName}~1queue/patch/responses/default +0ms sway:api Security: +0ms sway:api DELETE at #/paths/~1players~1{playerName}~1queue/delete +3ms sway:api Consumes: +1ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api async (in: query) at #/paths/~1players~1{playerName}~1queue/delete/parameters/0 +0ms sway:api Produces: +1ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 200 at #/paths/~1players~1{playerName}~1queue/delete/responses/200 +0ms sway:api 202 at #/paths/~1players~1{playerName}~1queue/delete/responses/202 +0ms sway:api default at #/paths/~1players~1{playerName}~1queue/delete/responses/default +1ms sway:api Security: +0ms sway:api POST at #/paths/~1players~1{playerName}~1queue/post +2ms sway:api Consumes: +1ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api async (in: query) at #/paths/~1players~1{playerName}~1queue/post/parameters/0 +0ms sway:api body (in: body) at #/paths/~1players~1{playerName}~1queue/post/parameters/1 +1ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 201 at #/paths/~1players~1{playerName}~1queue/post/responses/201 +0ms sway:api 202 at #/paths/~1players~1{playerName}~1queue/post/responses/202 +1ms sway:api default at #/paths/~1players~1{playerName}~1queue/post/responses/default +0ms sway:api Security: +2ms sway:api /zones +11ms sway:api Operations: +3ms sway:api GET at #/paths/~1zones/get +70ms sway:api Consumes: +1ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 200 at #/paths/~1zones/get/responses/200 +1ms sway:api default at #/paths/~1zones/get/responses/default +0ms sway:api Security: +0ms sway:api /zones/{zoneName} +1ms sway:api zoneName (in: path) at #/paths/~1zones~1{zoneName}/parameters/0 +1ms sway:api Operations: +0ms sway:api GET at #/paths/~1zones~1{zoneName}/get +10ms sway:api Consumes: +1ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 200 at #/paths/~1zones~1{zoneName}/get/responses/200 +1ms sway:api default at #/paths/~1zones~1{zoneName}/get/responses/default +0ms sway:api Security: +0ms sway:api /zones/{zoneName}/state +2ms sway:api zoneName (in: path) at #/paths/~1zones~1{zoneName}~1state/parameters/0 +1ms sway:api Operations: +0ms sway:api GET at #/paths/~1zones~1{zoneName}~1state/get +6ms sway:api Consumes: +1ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 200 at #/paths/~1zones~1{zoneName}~1state/get/responses/200 +1ms sway:api default at #/paths/~1zones~1{zoneName}~1state/get/responses/default +0ms sway:api Security: +0ms sway:api PUT at #/paths/~1zones~1{zoneName}~1state/put +6ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api async (in: query) at #/paths/~1zones~1{zoneName}~1state/put/parameters/0 +1ms sway:api body (in: body) at #/paths/~1zones~1{zoneName}~1state/put/parameters/1 +0ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +1ms sway:api 201 at #/paths/~1zones~1{zoneName}~1state/put/responses/201 +0ms sway:api 202 at #/paths/~1zones~1{zoneName}~1state/put/responses/202 +0ms sway:api default at #/paths/~1zones~1{zoneName}~1state/put/responses/default +0ms sway:api Security: +1ms sway:api /zones/{zoneName}/nowplaying +0ms sway:api zoneName (in: path) at #/paths/~1zones~1{zoneName}~1nowplaying/parameters/0 +1ms sway:api Operations: +1ms sway:api GET at #/paths/~1zones~1{zoneName}~1nowplaying/get +2ms sway:api Consumes: +1ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 200 at #/paths/~1zones~1{zoneName}~1nowplaying/get/responses/200 +1ms sway:api default at #/paths/~1zones~1{zoneName}~1nowplaying/get/responses/default +1ms sway:api Security: +0ms sway:api POST at #/paths/~1zones~1{zoneName}~1nowplaying/post +3ms sway:api Consumes: +0ms sway:api application/json +1ms sway:api Parameters: +0ms sway:api async (in: query) at #/paths/~1zones~1{zoneName}~1nowplaying/post/parameters/0 +0ms sway:api body (in: body) at #/paths/~1zones~1{zoneName}~1nowplaying/post/parameters/1 +1ms sway:api Produces: +0ms sway:api application/json +1ms sway:api Responses: +0ms sway:api 201 at #/paths/~1zones~1{zoneName}~1nowplaying/post/responses/201 +0ms sway:api 202 at #/paths/~1zones~1{zoneName}~1nowplaying/post/responses/202 +0ms sway:api default at #/paths/~1zones~1{zoneName}~1nowplaying/post/responses/default +1ms sway:api Security: +0ms sway:api /zones/{zoneName}/queue +1ms sway:api zoneName (in: path) at #/paths/~1zones~1{zoneName}~1queue/parameters/0 +0ms sway:api Operations: +0ms sway:api GET at #/paths/~1zones~1{zoneName}~1queue/get +3ms sway:api Consumes: +1ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api detailed (in: query) at #/paths/~1zones~1{zoneName}~1queue/get/parameters/0 +0ms sway:api Produces: +1ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 200 at #/paths/~1zones~1{zoneName}~1queue/get/responses/200 +0ms sway:api default at #/paths/~1zones~1{zoneName}~1queue/get/responses/default +1ms sway:api Security: +0ms sway:api PATCH at #/paths/~1zones~1{zoneName}~1queue/patch +2ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api async (in: query) at #/paths/~1zones~1{zoneName}~1queue/patch/parameters/0 +1ms sway:api body (in: body) at #/paths/~1zones~1{zoneName}~1queue/patch/parameters/1 +0ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 200 at #/paths/~1zones~1{zoneName}~1queue/patch/responses/200 +1ms sway:api 202 at #/paths/~1zones~1{zoneName}~1queue/patch/responses/202 +0ms sway:api default at #/paths/~1zones~1{zoneName}~1queue/patch/responses/default +0ms sway:api Security: +0ms sway:api DELETE at #/paths/~1zones~1{zoneName}~1queue/delete +2ms sway:api Consumes: +1ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api async (in: query) at #/paths/~1zones~1{zoneName}~1queue/delete/parameters/0 +0ms sway:api Produces: +0ms sway:api application/json +1ms sway:api Responses: +0ms sway:api 200 at #/paths/~1zones~1{zoneName}~1queue/delete/responses/200 +0ms sway:api 202 at #/paths/~1zones~1{zoneName}~1queue/delete/responses/202 +0ms sway:api default at #/paths/~1zones~1{zoneName}~1queue/delete/responses/default +1ms sway:api Security: +0ms sway:api POST at #/paths/~1zones~1{zoneName}~1queue/post +2ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api async (in: query) at #/paths/~1zones~1{zoneName}~1queue/post/parameters/0 +1ms sway:api body (in: body) at #/paths/~1zones~1{zoneName}~1queue/post/parameters/1 +1ms sway:api Produces: +1ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 201 at #/paths/~1zones~1{zoneName}~1queue/post/responses/201 +1ms sway:api 202 at #/paths/~1zones~1{zoneName}~1queue/post/responses/202 +0ms sway:api default at #/paths/~1zones~1{zoneName}~1queue/post/responses/default +1ms sway:api Security: +0ms sway:api /zones/{zoneName}/members +1ms sway:api zoneName (in: path) at #/paths/~1zones~1{zoneName}~1members/parameters/0 +1ms sway:api Operations: +2ms sway:api GET at #/paths/~1zones~1{zoneName}~1members/get +5ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +1ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 200 at #/paths/~1zones~1{zoneName}~1members/get/responses/200 +0ms sway:api default at #/paths/~1zones~1{zoneName}~1members/get/responses/default +1ms sway:api Security: +0ms sway:api POST at #/paths/~1zones~1{zoneName}~1members/post +4ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +1ms sway:api async (in: query) at #/paths/~1zones~1{zoneName}~1members/post/parameters/0 +0ms sway:api body (in: body) at #/paths/~1zones~1{zoneName}~1members/post/parameters/1 +0ms sway:api Produces: +1ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 201 at #/paths/~1zones~1{zoneName}~1members/post/responses/201 +0ms sway:api 202 at #/paths/~1zones~1{zoneName}~1members/post/responses/202 +0ms sway:api default at #/paths/~1zones~1{zoneName}~1members/post/responses/default +1ms sway:api Security: +0ms sway:api /zones/{zoneName}/members/{roomName} +1ms sway:api zoneName (in: path) at #/paths/~1zones~1{zoneName}~1members~1{roomName}/parameters/0 +0ms sway:api roomName (in: path) at #/paths/~1zones~1{zoneName}~1members~1{roomName}/parameters/1 +0ms sway:api Operations: +1ms sway:api DELETE at #/paths/~1zones~1{zoneName}~1members~1{roomName}/delete +4ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +2ms sway:api async (in: query) at #/paths/~1zones~1{zoneName}~1members~1{roomName}/delete/parameters/0 +1ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +1ms sway:api 200 at #/paths/~1zones~1{zoneName}~1members~1{roomName}/delete/responses/200 +0ms sway:api 202 at #/paths/~1zones~1{zoneName}~1members~1{roomName}/delete/responses/202 +0ms sway:api default at #/paths/~1zones~1{zoneName}~1members~1{roomName}/delete/responses/default +0ms sway:api Security: +1ms sway:api /search +0ms sway:api Operations: +0ms sway:api GET at #/paths/~1search/get +4ms sway:api Consumes: +1ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api service (in: query) at #/paths/~1search/get/parameters/0 +1ms sway:api type (in: query) at #/paths/~1search/get/parameters/1 +0ms sway:api q (in: query) at #/paths/~1search/get/parameters/2 +1ms sway:api offset (in: query) at #/paths/~1search/get/parameters/3 +0ms sway:api limit (in: query) at #/paths/~1search/get/parameters/4 +1ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 200 at #/paths/~1search/get/responses/200 +0ms sway:api default at #/paths/~1search/get/responses/default +1ms sway:api Security: +0ms sway:api /favourites +0ms sway:api Operations: +0ms sway:api GET at #/paths/~1favourites/get +4ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api detailed (in: query) at #/paths/~1favourites/get/parameters/0 +1ms sway:api Produces: +1ms sway:api application/json +0ms sway:api Responses: +1ms sway:api 200 at #/paths/~1favourites/get/responses/200 +3ms sway:api default at #/paths/~1favourites/get/responses/default +0ms sway:api Security: +0ms sway:api /favourites/{favourite} +1ms sway:api favourite (in: path) at #/paths/~1favourites~1{favourite}/parameters/0 +1ms sway:api Operations: +0ms sway:api GET at #/paths/~1favourites~1{favourite}/get +2ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api Produces: +1ms sway:api application/json +0ms sway:api Responses: +1ms sway:api 200 at #/paths/~1favourites~1{favourite}/get/responses/200 +1ms sway:api default at #/paths/~1favourites~1{favourite}/get/responses/default +0ms sway:api Security: +0ms sway:api /swagger +1ms sway:api Operations: +0ms sway:api GET at #/paths/~1swagger/get +1ms sway:api Consumes: +1ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api default at #/paths/~1swagger/get/responses/default +1ms sway:api Security: +0ms [2018-07-28 09:03:41.983] [WARN] startupHelpers.js - null null express:application set "x-powered-by" to true +894ms express:application set "etag" to 'weak' +3ms express:application set "etag fn" to [Function: generateETag] +2ms express:application set "env" to 'development' +1ms express:application set "query parser" to 'extended' +0ms express:application set "query parser fn" to [Function: parseExtendedQueryString] +1ms express:application set "subdomain offset" to 2 +1ms express:application set "trust proxy" to false +1ms express:application set "trust proxy fn" to [Function: trustNone] +1ms express:application booting in development mode +1ms express:application set "view" to [Function: View] +1ms express:application set "views" to '/home/pi/sonos-swagger-api-master/views' +1ms express:application set "jsonp callback name" to 'callback' +1ms swagger loaded env vars: {} +54ms swagger resolved config: {"swagger":{"enforceUniqueOperationId":false,"startWithErrors":false,"startWithWarnings":true,"fittingsDirs":["fittings","node_modules"],"defaultPipe":null,"swaggerControllerPipe":"swagger_controllers","bagpipes":{"_router":{"name":"swagger_router","mockMode":false,"mockControllersDirs":["mocks"],"controllersDirs":["controllers"],"controllersInterface":"auto-detect"},"_swagger_validate":{"name":"swagger_validator"},"swagger_controllers":[{"onError":"error_logger"},"swagger_cors","swagger_security","swagger_params_parser","_swagger_validate","express_compatibility","_router"],"swagger_raw":["swagger_cors","swagger_raw"]},"appRoot":"/home/pi/sonos-swagger-api-master/api","swaggerFile":"/home/pi/sonos-swagger-api-master/api/swagger/production.swagger.yaml","validateResponse":true,"configDir":"config"},"util":{}} +4ms swagger initializing Sway +0ms sway:api Creating SwaggerApi from /home/pi/sonos-swagger-api-master/api/swagger/production.swagger.yaml +696ms sway:api Paths: +1ms sway:api /players +1ms sway:api Operations: +0ms sway:api GET at #/paths/~1players/get +15ms sway:api Consumes: +0ms sway:api application/json +1ms sway:api Parameters: +0ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 200 at #/paths/~1players/get/responses/200 +1ms sway:api default at #/paths/~1players/get/responses/default +0ms sway:api Security: +3ms sway:api /players/{playerName} +1ms sway:api playerName (in: path) at #/paths/~1players~1{playerName}/parameters/0 +1ms sway:api Operations: +1ms sway:api GET at #/paths/~1players~1{playerName}/get +8ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +1ms sway:api 200 at #/paths/~1players~1{playerName}/get/responses/200 +0ms sway:api default at #/paths/~1players~1{playerName}/get/responses/default +0ms sway:api Security: +0ms sway:api /players/{playerName}/state +1ms sway:api playerName (in: path) at #/paths/~1players~1{playerName}~1state/parameters/0 +1ms sway:api Operations: +0ms sway:api GET at #/paths/~1players~1{playerName}~1state/get +5ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api Produces: +0ms sway:api application/json +1ms sway:api Responses: +0ms sway:api 200 at #/paths/~1players~1{playerName}~1state/get/responses/200 +0ms sway:api default at #/paths/~1players~1{playerName}~1state/get/responses/default +0ms sway:api Security: +1ms sway:api PUT at #/paths/~1players~1{playerName}~1state/put +5ms sway:api Consumes: +1ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api async (in: query) at #/paths/~1players~1{playerName}~1state/put/parameters/0 +0ms sway:api body (in: body) at #/paths/~1players~1{playerName}~1state/put/parameters/1 +1ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 201 at #/paths/~1players~1{playerName}~1state/put/responses/201 +1ms sway:api 202 at #/paths/~1players~1{playerName}~1state/put/responses/202 +0ms sway:api default at #/paths/~1players~1{playerName}~1state/put/responses/default +0ms sway:api Security: +0ms sway:api /players/{playerName}/nowplaying +1ms sway:api playerName (in: path) at #/paths/~1players~1{playerName}~1nowplaying/parameters/0 +0ms sway:api Operations: +1ms sway:api GET at #/paths/~1players~1{playerName}~1nowplaying/get +2ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +1ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 200 at #/paths/~1players~1{playerName}~1nowplaying/get/responses/200 +0ms sway:api default at #/paths/~1players~1{playerName}~1nowplaying/get/responses/default +1ms sway:api Security: +0ms sway:api POST at #/paths/~1players~1{playerName}~1nowplaying/post +3ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api async (in: query) at #/paths/~1players~1{playerName}~1nowplaying/post/parameters/0 +1ms sway:api body (in: body) at #/paths/~1players~1{playerName}~1nowplaying/post/parameters/1 +0ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 201 at #/paths/~1players~1{playerName}~1nowplaying/post/responses/201 +1ms sway:api 202 at #/paths/~1players~1{playerName}~1nowplaying/post/responses/202 +0ms sway:api default at #/paths/~1players~1{playerName}~1nowplaying/post/responses/default +0ms sway:api Security: +1ms sway:api /players/{playerName}/queue +0ms sway:api playerName (in: path) at #/paths/~1players~1{playerName}~1queue/parameters/0 +1ms sway:api Operations: +0ms sway:api GET at #/paths/~1players~1{playerName}~1queue/get +3ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api detailed (in: query) at #/paths/~1players~1{playerName}~1queue/get/parameters/0 +1ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 200 at #/paths/~1players~1{playerName}~1queue/get/responses/200 +1ms sway:api default at #/paths/~1players~1{playerName}~1queue/get/responses/default +0ms sway:api Security: +0ms sway:api PATCH at #/paths/~1players~1{playerName}~1queue/patch +3ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api async (in: query) at #/paths/~1players~1{playerName}~1queue/patch/parameters/0 +1ms sway:api body (in: body) at #/paths/~1players~1{playerName}~1queue/patch/parameters/1 +0ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +1ms sway:api 200 at #/paths/~1players~1{playerName}~1queue/patch/responses/200 +0ms sway:api 202 at #/paths/~1players~1{playerName}~1queue/patch/responses/202 +0ms sway:api default at #/paths/~1players~1{playerName}~1queue/patch/responses/default +4ms sway:api Security: +0ms sway:api DELETE at #/paths/~1players~1{playerName}~1queue/delete +5ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api async (in: query) at #/paths/~1players~1{playerName}~1queue/delete/parameters/0 +1ms sway:api Produces: +0ms sway:api application/json +2ms sway:api Responses: +3ms sway:api 200 at #/paths/~1players~1{playerName}~1queue/delete/responses/200 +3ms sway:api 202 at #/paths/~1players~1{playerName}~1queue/delete/responses/202 +0ms sway:api default at #/paths/~1players~1{playerName}~1queue/delete/responses/default +1ms sway:api Security: +0ms sway:api POST at #/paths/~1players~1{playerName}~1queue/post +4ms sway:api Consumes: +1ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api async (in: query) at #/paths/~1players~1{playerName}~1queue/post/parameters/0 +0ms sway:api body (in: body) at #/paths/~1players~1{playerName}~1queue/post/parameters/1 +1ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 201 at #/paths/~1players~1{playerName}~1queue/post/responses/201 +1ms sway:api 202 at #/paths/~1players~1{playerName}~1queue/post/responses/202 +0ms sway:api default at #/paths/~1players~1{playerName}~1queue/post/responses/default +1ms sway:api Security: +0ms sway:api /zones +1ms sway:api Operations: +0ms sway:api GET at #/paths/~1zones/get +27ms sway:api Consumes: +1ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 200 at #/paths/~1zones/get/responses/200 +1ms sway:api default at #/paths/~1zones/get/responses/default +0ms sway:api Security: +0ms sway:api /zones/{zoneName} +1ms sway:api zoneName (in: path) at #/paths/~1zones~1{zoneName}/parameters/0 +0ms sway:api Operations: +1ms sway:api GET at #/paths/~1zones~1{zoneName}/get +12ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api Produces: +1ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 200 at #/paths/~1zones~1{zoneName}/get/responses/200 +0ms sway:api default at #/paths/~1zones~1{zoneName}/get/responses/default +1ms sway:api Security: +0ms sway:api /zones/{zoneName}/state +1ms sway:api zoneName (in: path) at #/paths/~1zones~1{zoneName}~1state/parameters/0 +0ms sway:api Operations: +0ms sway:api GET at #/paths/~1zones~1{zoneName}~1state/get +5ms sway:api Consumes: +1ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +1ms sway:api 200 at #/paths/~1zones~1{zoneName}~1state/get/responses/200 +0ms sway:api default at #/paths/~1zones~1{zoneName}~1state/get/responses/default +0ms sway:api Security: +0ms sway:api PUT at #/paths/~1zones~1{zoneName}~1state/put +6ms sway:api Consumes: +0ms sway:api application/json +1ms sway:api Parameters: +0ms sway:api async (in: query) at #/paths/~1zones~1{zoneName}~1state/put/parameters/0 +0ms sway:api body (in: body) at #/paths/~1zones~1{zoneName}~1state/put/parameters/1 +1ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 201 at #/paths/~1zones~1{zoneName}~1state/put/responses/201 +0ms sway:api 202 at #/paths/~1zones~1{zoneName}~1state/put/responses/202 +1ms sway:api default at #/paths/~1zones~1{zoneName}~1state/put/responses/default +0ms sway:api Security: +0ms sway:api /zones/{zoneName}/nowplaying +1ms sway:api zoneName (in: path) at #/paths/~1zones~1{zoneName}~1nowplaying/parameters/0 +0ms sway:api Operations: +1ms sway:api GET at #/paths/~1zones~1{zoneName}~1nowplaying/get +2ms sway:api Consumes: +0ms sway:api application/json +1ms sway:api Parameters: +0ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 200 at #/paths/~1zones~1{zoneName}~1nowplaying/get/responses/200 +0ms sway:api default at #/paths/~1zones~1{zoneName}~1nowplaying/get/responses/default +1ms sway:api Security: +0ms sway:api POST at #/paths/~1zones~1{zoneName}~1nowplaying/post +2ms sway:api Consumes: +0ms sway:api application/json +1ms sway:api Parameters: +0ms sway:api async (in: query) at #/paths/~1zones~1{zoneName}~1nowplaying/post/parameters/0 +0ms sway:api body (in: body) at #/paths/~1zones~1{zoneName}~1nowplaying/post/parameters/1 +1ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 201 at #/paths/~1zones~1{zoneName}~1nowplaying/post/responses/201 +0ms sway:api 202 at #/paths/~1zones~1{zoneName}~1nowplaying/post/responses/202 +1ms sway:api default at #/paths/~1zones~1{zoneName}~1nowplaying/post/responses/default +0ms sway:api Security: +0ms sway:api /zones/{zoneName}/queue +1ms sway:api zoneName (in: path) at #/paths/~1zones~1{zoneName}~1queue/parameters/0 +0ms sway:api Operations: +0ms sway:api GET at #/paths/~1zones~1{zoneName}~1queue/get +4ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +1ms sway:api detailed (in: query) at #/paths/~1zones~1{zoneName}~1queue/get/parameters/0 +0ms sway:api Produces: +1ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 200 at #/paths/~1zones~1{zoneName}~1queue/get/responses/200 +0ms sway:api default at #/paths/~1zones~1{zoneName}~1queue/get/responses/default +1ms sway:api Security: +0ms sway:api PATCH at #/paths/~1zones~1{zoneName}~1queue/patch +2ms sway:api Consumes: +0ms sway:api application/json +1ms sway:api Parameters: +0ms sway:api async (in: query) at #/paths/~1zones~1{zoneName}~1queue/patch/parameters/0 +0ms sway:api body (in: body) at #/paths/~1zones~1{zoneName}~1queue/patch/parameters/1 +0ms sway:api Produces: +1ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 200 at #/paths/~1zones~1{zoneName}~1queue/patch/responses/200 +0ms sway:api 202 at #/paths/~1zones~1{zoneName}~1queue/patch/responses/202 +1ms sway:api default at #/paths/~1zones~1{zoneName}~1queue/patch/responses/default +0ms sway:api Security: +0ms sway:api DELETE at #/paths/~1zones~1{zoneName}~1queue/delete +2ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +1ms sway:api async (in: query) at #/paths/~1zones~1{zoneName}~1queue/delete/parameters/0 +0ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 200 at #/paths/~1zones~1{zoneName}~1queue/delete/responses/200 +1ms sway:api 202 at #/paths/~1zones~1{zoneName}~1queue/delete/responses/202 +0ms sway:api default at #/paths/~1zones~1{zoneName}~1queue/delete/responses/default +0ms sway:api Security: +1ms sway:api POST at #/paths/~1zones~1{zoneName}~1queue/post +2ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api async (in: query) at #/paths/~1zones~1{zoneName}~1queue/post/parameters/0 +1ms sway:api body (in: body) at #/paths/~1zones~1{zoneName}~1queue/post/parameters/1 +0ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 201 at #/paths/~1zones~1{zoneName}~1queue/post/responses/201 +1ms sway:api 202 at #/paths/~1zones~1{zoneName}~1queue/post/responses/202 +0ms sway:api default at #/paths/~1zones~1{zoneName}~1queue/post/responses/default +0ms sway:api Security: +1ms sway:api /zones/{zoneName}/members +0ms sway:api zoneName (in: path) at #/paths/~1zones~1{zoneName}~1members/parameters/0 +1ms sway:api Operations: +0ms sway:api GET at #/paths/~1zones~1{zoneName}~1members/get +4ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api Produces: +0ms sway:api application/json +1ms sway:api Responses: +0ms sway:api 200 at #/paths/~1zones~1{zoneName}~1members/get/responses/200 +0ms sway:api default at #/paths/~1zones~1{zoneName}~1members/get/responses/default +0ms sway:api Security: +1ms sway:api POST at #/paths/~1zones~1{zoneName}~1members/post +4ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +1ms sway:api async (in: query) at #/paths/~1zones~1{zoneName}~1members/post/parameters/0 +0ms sway:api body (in: body) at #/paths/~1zones~1{zoneName}~1members/post/parameters/1 +0ms sway:api Produces: +1ms sway:api application/json +6ms sway:api Responses: +0ms sway:api 201 at #/paths/~1zones~1{zoneName}~1members/post/responses/201 +1ms sway:api 202 at #/paths/~1zones~1{zoneName}~1members/post/responses/202 +1ms sway:api default at #/paths/~1zones~1{zoneName}~1members/post/responses/default +0ms sway:api Security: +0ms sway:api /zones/{zoneName}/members/{roomName} +1ms sway:api zoneName (in: path) at #/paths/~1zones~1{zoneName}~1members~1{roomName}/parameters/0 +0ms sway:api roomName (in: path) at #/paths/~1zones~1{zoneName}~1members~1{roomName}/parameters/1 +1ms sway:api Operations: +0ms sway:api DELETE at #/paths/~1zones~1{zoneName}~1members~1{roomName}/delete +4ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +1ms sway:api async (in: query) at #/paths/~1zones~1{zoneName}~1members~1{roomName}/delete/parameters/0 +0ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 200 at #/paths/~1zones~1{zoneName}~1members~1{roomName}/delete/responses/200 +1ms sway:api 202 at #/paths/~1zones~1{zoneName}~1members~1{roomName}/delete/responses/202 +0ms sway:api default at #/paths/~1zones~1{zoneName}~1members~1{roomName}/delete/responses/default +0ms sway:api Security: +1ms sway:api /search +0ms sway:api Operations: +0ms sway:api GET at #/paths/~1search/get +4ms sway:api Consumes: +1ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api service (in: query) at #/paths/~1search/get/parameters/0 +0ms sway:api type (in: query) at #/paths/~1search/get/parameters/1 +1ms sway:api q (in: query) at #/paths/~1search/get/parameters/2 +0ms sway:api offset (in: query) at #/paths/~1search/get/parameters/3 +0ms sway:api limit (in: query) at #/paths/~1search/get/parameters/4 +1ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 200 at #/paths/~1search/get/responses/200 +2ms sway:api default at #/paths/~1search/get/responses/default +0ms sway:api Security: +1ms sway:api /favourites +1ms sway:api Operations: +0ms sway:api GET at #/paths/~1favourites/get +4ms sway:api Consumes: +0ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api detailed (in: query) at #/paths/~1favourites/get/parameters/0 +1ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 200 at #/paths/~1favourites/get/responses/200 +0ms sway:api default at #/paths/~1favourites/get/responses/default +1ms sway:api Security: +0ms sway:api /favourites/{favourite} +0ms sway:api favourite (in: path) at #/paths/~1favourites~1{favourite}/parameters/0 +1ms sway:api Operations: +0ms sway:api GET at #/paths/~1favourites~1{favourite}/get +1ms sway:api Consumes: +1ms sway:api application/json +0ms sway:api Parameters: +0ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api 200 at #/paths/~1favourites~1{favourite}/get/responses/200 +1ms sway:api default at #/paths/~1favourites~1{favourite}/get/responses/default +0ms sway:api Security: +1ms sway:api /swagger +0ms sway:api Operations: +0ms sway:api GET at #/paths/~1swagger/get +1ms sway:api Consumes: +0ms sway:api application/json +1ms sway:api Parameters: +0ms sway:api Produces: +0ms sway:api application/json +0ms sway:api Responses: +0ms sway:api default at #/paths/~1swagger/get/responses/default +0ms sway:api Security: +1ms swagger validating api +1ms swagger done validating api. errors: 0, warnings: 0 +343ms pipes creating pipes: { _router: { name: 'swagger_router', mockMode: false, mockControllersDirs: [ 'mocks' ], controllersDirs: [ 'controllers' ], controllersInterface: 'auto-detect' }, _swagger_validate: { name: 'swagger_validator' }, swagger_controllers: [ { onError: 'error_logger' }, 'swagger_cors', 'swagger_security', 'swagger_params_parser', '_swagger_validate', 'express_compatibility', '_router' ], swagger_raw: [ 'swagger_cors', 'swagger_raw' ] } +2ms pipes loaded fitting type: connect-middleware +10ms pipes loaded fitting type: node-machine +2ms pipes loaded fitting type: swagger +2ms pipes loaded fitting type: system +2ms pipes loaded fitting type: user +5ms pipes creating pipe _router: {"name":"swagger_router","mockMode":false,"mockControllersDirs":["mocks"],"controllersDirs":["controllers"],"controllersInterface":"auto-detect"} +2ms pipes create fitting {"name":"swagger_router","mockMode":false,"mockControllersDirs":["mocks"],"controllersDirs":["controllers"],"controllersInterface":"auto-detect"} +2ms pipes:fittings no user fitting swagger_router in /home/pi/sonos-swagger-api-master/api/fittings +2ms pipes:fittings no user fitting swagger_router in /home/pi/sonos-swagger-api-master/api/node_modules +1ms swagger:swagger_router config: {"name":"swagger_router","mockMode":false,"mockControllersDirs":["mocks"],"controllersDirs":["controllers"],"controllersInterface":"auto-detect"} +4ms pipes:fittings loaded user fitting swagger_router from /home/pi/sonos-swagger-api-master/node_modules/swagger-node-runner/fittings +3ms pipes creating pipe _swagger_validate: {"name":"swagger_validator"} +1ms pipes create fitting {"name":"swagger_validator"} +1ms pipes:fittings no user fitting swagger_validator in /home/pi/sonos-swagger-api-master/api/fittings +1ms pipes:fittings no user fitting swagger_validator in /home/pi/sonos-swagger-api-master/api/node_modules +3ms swagger:swagger_validator config: {"name":"swagger_validator"} +3ms pipes:fittings loaded user fitting swagger_validator from /home/pi/sonos-swagger-api-master/node_modules/swagger-node-runner/fittings +1ms pipes creating pipe swagger_controllers: [{"onError":"error_logger"},"swagger_cors","swagger_security","swagger_params_parser","_swagger_validate","express_compatibility","_router"] +5ms pipes create fitting {"name":"onError","input":"error_logger"} +1ms pipes:fittings no user fitting onError in /home/pi/sonos-swagger-api-master/api/fittings +1ms pipes:fittings no user fitting onError in /home/pi/sonos-swagger-api-master/api/node_modules +1ms pipes:fittings no user fitting onError in /home/pi/sonos-swagger-api-master/node_modules/swagger-node-runner/fittings +2ms pipes create fitting {"name":"error_logger"} +4ms pipes:fittings loaded user fitting error_logger from /home/pi/sonos-swagger-api-master/api/fittings +3ms pipes:fittings loaded system fitting onError from /home/pi/sonos-swagger-api-master/node_modules/bagpipes/lib/fittings +1ms pipes create fitting {"name":"swagger_cors"} +0ms pipes:fittings no user fitting swagger_cors in /home/pi/sonos-swagger-api-master/api/fittings +0ms pipes:fittings no user fitting swagger_cors in /home/pi/sonos-swagger-api-master/api/node_modules +1ms swagger:cors config: {"name":"swagger_cors"} +10ms pipes:fittings loaded user fitting swagger_cors from /home/pi/sonos-swagger-api-master/node_modules/swagger-node-runner/fittings +1ms pipes create fitting {"name":"swagger_security"} +0ms pipes:fittings no user fitting swagger_security in /home/pi/sonos-swagger-api-master/api/fittings +1ms pipes:fittings no user fitting swagger_security in /home/pi/sonos-swagger-api-master/api/node_modules +0ms swagger:swagger_security config: {"name":"swagger_security"} +8ms pipes:fittings loaded user fitting swagger_security from /home/pi/sonos-swagger-api-master/node_modules/swagger-node-runner/fittings +0ms pipes create fitting {"name":"swagger_params_parser"} +1ms pipes:fittings no user fitting swagger_params_parser in /home/pi/sonos-swagger-api-master/api/fittings +0ms pipes:fittings no user fitting swagger_params_parser in /home/pi/sonos-swagger-api-master/api/node_modules +1ms swagger:swagger_params_parser config: {"name":"swagger_params_parser"} +5ms pipes:fittings loaded user fitting swagger_params_parser from /home/pi/sonos-swagger-api-master/node_modules/swagger-node-runner/fittings +2ms pipes fitting pipe: _swagger_validate +1ms pipes create fitting {"name":"express_compatibility"} +0ms pipes:fittings no user fitting express_compatibility in /home/pi/sonos-swagger-api-master/api/fittings +1ms pipes:fittings no user fitting express_compatibility in /home/pi/sonos-swagger-api-master/api/node_modules +0ms swagger:cors config: {"name":"express_compatibility"} +2ms pipes:fittings loaded user fitting express_compatibility from /home/pi/sonos-swagger-api-master/node_modules/swagger-node-runner/fittings +1ms pipes fitting pipe: _router +0ms pipes creating pipe swagger_raw: ["swagger_cors","swagger_raw"] +0ms pipes create fitting {"name":"swagger_cors"} +0ms pipes:fittings no user fitting swagger_cors in /home/pi/sonos-swagger-api-master/api/fittings +1ms pipes:fittings no user fitting swagger_cors in /home/pi/sonos-swagger-api-master/api/node_modules +0ms swagger:cors config: {"name":"swagger_cors"} +1ms pipes:fittings loaded user fitting swagger_cors from /home/pi/sonos-swagger-api-master/node_modules/swagger-node-runner/fittings +0ms pipes create fitting {"name":"swagger_raw"} +0ms pipes:fittings no user fitting swagger_raw in /home/pi/sonos-swagger-api-master/api/fittings +1ms pipes:fittings no user fitting swagger_raw in /home/pi/sonos-swagger-api-master/api/node_modules +0ms swagger:swagger_raw config: {"name":"swagger_raw"} +3ms swagger:swagger_raw swagger doc filter: /^(?!x-.*)/ +1ms swagger:swagger_raw dropping value at x-swagger-router-controller +9ms swagger:swagger_raw dropping value at x-swagger-router-controller +3ms swagger:swagger_raw dropping value at x-swagger-router-controller +5ms swagger:swagger_raw dropping value at x-swagger-router-controller +2ms swagger:swagger_raw dropping value at x-swagger-router-controller +18ms swagger:swagger_raw dropping value at x-swagger-router-controller +7ms swagger:swagger_raw dropping value at x-swagger-router-controller +2ms swagger:swagger_raw dropping value at x-swagger-router-controller +2ms swagger:swagger_raw dropping value at x-swagger-router-controller +1ms swagger:swagger_raw dropping value at x-swagger-router-controller +3ms swagger:swagger_raw dropping value at x-swagger-router-controller +1ms swagger:swagger_raw dropping value at x-swagger-router-controller +1ms swagger:swagger_raw dropping value at x-swagger-router-controller +1ms swagger:swagger_raw dropping value at x-swagger-router-controller +0ms swagger:swagger_raw dropping value at x-swagger-router-controller +1ms swagger:swagger_raw dropping value at x-swagger-pipe +1ms pipes:fittings loaded user fitting swagger_raw from /home/pi/sonos-swagger-api-master/node_modules/swagger-node-runner/fittings +163ms pipes done creating pipes +0ms express:router use '/' query +10ms express:router:layer new '/' +1ms express:router use '/' expressInit +3ms express:router:layer new '/' +1ms express:router use '/docs' serveStatic +2ms express:router:layer new '/docs' +0ms express:router use '/static' serveStatic +13ms express:router:layer new '/static' +1ms express:router use '/' +0ms express:router:layer new '/' +1ms express:router use '/' +0ms express:router:layer new '/' +1ms express:router use '/' middleware +1ms express:router:layer new '/' +1ms [2018-07-28 09:03:44.054] [INFO] app.js - The server has started express:router dispatching PUT /players/Dining%20Room/state +4s express:router query : /players/Dining%20Room/state +6ms express:router expressInit : /players/Dining%20Room/state +3ms express:router : /players/Dining%20Room/state +2ms express:router : /players/Dining%20Room/state +1ms [2018-07-28 09:03:48.206] [DEBUG] app.js - request came into PUT /players/Dining%20Room/state express:router middleware : /players/Dining%20Room/state +1ms swagger pipe requested: swagger_controllers +4ms swagger executing pipe swagger_controllers +1ms swagger add response validation hook +2ms pipes pre-flight fitting: onError +9ms pipes isInput: error_logger +1ms pipes input: "error_logger" +1ms pipes enter fitting: onError +1ms pipes setting error handler: error_logger +1ms pipes exit fitting: onError +0ms pipes post-flight fitting: onError +1ms pipes:content output (context[output]): undefined +1ms pipes pre-flight fitting: swagger_cors +1ms pipes input: undefined +0ms pipes enter fitting: swagger_cors +1ms swagger:cors exec +0ms pipes exit fitting: swagger_cors +4ms pipes post-flight fitting: swagger_cors +0ms pipes:content output (context[output]): undefined +1ms pipes pre-flight fitting: swagger_security +0ms pipes input: undefined +1ms pipes enter fitting: swagger_security +0ms swagger:swagger_security exec +1ms pipes exit fitting: swagger_security +1ms pipes post-flight fitting: swagger_security +0ms pipes:content output (context[output]): undefined +1ms pipes pre-flight fitting: swagger_params_parser +0ms pipes input: undefined +3ms pipes enter fitting: swagger_params_parser +1ms swagger:swagger_params_parser exec +1ms swagger:content parsing req.body for content-type: application/json +3ms body-parser:json content-type "application/json" +15ms body-parser:json content-encoding "identity" +5ms body-parser:json read body +1ms body-parser:json parse body +40ms body-parser:json parse json +2ms swagger:content json parsed req.body: { playbackState: 'play' } +1ms pipes exit fitting: swagger_params_parser +5ms pipes post-flight fitting: swagger_params_parser +1ms pipes:content output (context[output]): [Circular] +0ms pipes running pipe: _swagger_validate +23ms pipes pre-flight fitting: swagger_validator +1ms pipes input: [Circular] +3ms pipes enter fitting: swagger_validator +22ms swagger:swagger_validator exec +1ms pipes exit fitting: swagger_validator +13ms pipes post-flight fitting: swagger_validator +1ms pipes:content output (context[output]): undefined +0ms pipes pre-flight fitting: express_compatibility +2ms pipes input: undefined +1ms pipes enter fitting: express_compatibility +1ms swagger:cors exec +1ms pipes exit fitting: express_compatibility +2ms pipes post-flight fitting: express_compatibility +0ms pipes:content output (context[output]): undefined +1ms pipes running pipe: _router +0ms pipes pre-flight fitting: swagger_router +1ms pipes input: undefined +0ms pipes enter fitting: swagger_router +0ms swagger:swagger_router exec +2ms swagger:swagger_router loading controller playerState from fs: /home/pi/sonos-swagger-api-master/api/controllers +1ms swagger:swagger_router controller found /home/pi/sonos-swagger-api-master/api/controllers/playerState +1s swagger:swagger_router auto-detected interface-type for operation 'setPlayerState' at [paths,/players/{playerName}/state,put] as 'pipe' +2ms swagger:swagger_router running controller, as pipe +1ms [2018-07-28 09:03:49.472] [DEBUG] zoneDetail.js - params { playbackState: 'play' } helpers:playpause calling play() +14ms helpers:state node-sonos-discovery state : { volume: 17, helpers:state mute: false, helpers:state equalizer: { bass: 0, treble: 0, loudness: true }, helpers:state currentTrack: helpers:state { artist: '', helpers:state title: '', helpers:state album: '', helpers:state albumArtUri: '', helpers:state duration: 0, helpers:state uri: '', helpers:state type: 'track', helpers:state stationName: '' }, helpers:state nextTrack: helpers:state { artist: '', helpers:state title: '', helpers:state album: '', helpers:state albumArtUri: '', helpers:state duration: 0, helpers:state uri: '' }, helpers:state trackNo: 0, helpers:state elapsedTime: 0, helpers:state elapsedTimeFormatted: '00:00:00', helpers:state playbackState: 'STOPPED', helpers:state playMode: { repeat: 'none', shuffle: false, crossfade: false } } +9ms helpers:state new state returned : { volume: 17, helpers:state mute: 'mute off', helpers:state equalizer: { bass: 0, treble: 0, loudness: true }, helpers:state currentTrack: helpers:state { artist: '', helpers:state title: '', helpers:state album: '', helpers:state albumArtUri: '', helpers:state duration: 0, helpers:state uri: '', helpers:state type: 'track', helpers:state stationName: '' }, helpers:state nextTrack: helpers:state { artist: '', helpers:state title: '', helpers:state album: '', helpers:state albumArtUri: '', helpers:state duration: 0, helpers:state uri: '' }, helpers:state trackNo: 0, helpers:state elapsedTime: 0, helpers:state elapsedTimeFormatted: '00:00:00', helpers:state playbackState: 'pause', helpers:state playMode: helpers:state { repeat: 'none', helpers:state shuffle: 'shuffle off', helpers:state crossfade: 'crossfade off' } } +3ms helpers:playpause calling player.coordinator.play() +1ms helpers:playpause error in play() : { Error helpers:playpause at Object.invoke (/home/pi/sonos-swagger-api-master/node_modules/sonos-discovery/lib/helpers/soap.js:95:10) helpers:playpause at Player.play (/home/pi/sonos-swagger-api-master/node_modules/sonos-discovery/lib/models/Player.js:442:15) helpers:playpause at Promise.resolve.then.then (/home/pi/sonos-swagger-api-master/api/helpers/playpause.js:32:39) helpers:playpause at bound (domain.js:280:14) helpers:playpause at runBound (domain.js:293:12) helpers:playpause at tryCatcher (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/util.js:16:23) helpers:playpause at Promise._settlePromiseFromHandler (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/promise.js:512:31) helpers:playpause at Promise._settlePromise (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/promise.js:569:18) helpers:playpause at Promise._settlePromise0 (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/promise.js:614:10) helpers:playpause at Promise._settlePromises (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/promise.js:693:18) helpers:playpause at Async._drainQueue (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/async.js:133:16) helpers:playpause at Async._drainQueues (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/async.js:143:10) helpers:playpause at Immediate.Async.drainQueues (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/async.js:17:14) helpers:playpause at runCallback (timers.js:672:20) helpers:playpause at tryOnImmediate (timers.js:645:5) helpers:playpause at processImmediate [as _immediateCallback] (timers.js:617:5) helpers:playpause method: 'POST', helpers:playpause path: '/MediaRenderer/AVTransport/Control', helpers:playpause host: '192.168.1.150', helpers:playpause port: 1400, helpers:playpause headers: helpers:playpause { 'CONTENT-TYPE': 'text/xml; charset="utf-8"', helpers:playpause SOAPACTION: '"urn:schemas-upnp-org:service:AVTransport:1#Play"', helpers:playpause 'CONTENT-LENGTH': 266 }, helpers:playpause statusCode: 500, helpers:playpause statusMessage: 'Internal Server Error', helpers:playpause body: 's:ClientUPnPError701' } +23ms helpers:playpause Error in playpause() : { Error helpers:playpause at Object.invoke (/home/pi/sonos-swagger-api-master/node_modules/sonos-discovery/lib/helpers/soap.js:95:10) helpers:playpause at Player.play (/home/pi/sonos-swagger-api-master/node_modules/sonos-discovery/lib/models/Player.js:442:15) helpers:playpause at Promise.resolve.then.then (/home/pi/sonos-swagger-api-master/api/helpers/playpause.js:32:39) helpers:playpause at bound (domain.js:280:14) helpers:playpause at runBound (domain.js:293:12) helpers:playpause at tryCatcher (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/util.js:16:23) helpers:playpause at Promise._settlePromiseFromHandler (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/promise.js:512:31) helpers:playpause at Promise._settlePromise (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/promise.js:569:18) helpers:playpause at Promise._settlePromise0 (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/promise.js:614:10) helpers:playpause at Promise._settlePromises (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/promise.js:693:18) helpers:playpause at Async._drainQueue (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/async.js:133:16) helpers:playpause at Async._drainQueues (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/async.js:143:10) helpers:playpause at Immediate.Async.drainQueues (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/async.js:17:14) helpers:playpause at runCallback (timers.js:672:20) helpers:playpause at tryOnImmediate (timers.js:645:5) helpers:playpause at processImmediate [as _immediateCallback] (timers.js:617:5) helpers:playpause method: 'POST', helpers:playpause path: '/MediaRenderer/AVTransport/Control', helpers:playpause host: '192.168.1.150', helpers:playpause port: 1400, helpers:playpause headers: helpers:playpause { 'CONTENT-TYPE': 'text/xml; charset="utf-8"', helpers:playpause SOAPACTION: '"urn:schemas-upnp-org:service:AVTransport:1#Play"', helpers:playpause 'CONTENT-LENGTH': 266 }, helpers:playpause statusCode: 500, helpers:playpause statusMessage: 'Internal Server Error', helpers:playpause body: 's:ClientUPnPError701' } +4ms [2018-07-28 09:03:49.527] [ERROR] zoneDetail.js - { Error at Object.invoke (/home/pi/sonos-swagger-api-master/node_modules/sonos-discovery/lib/helpers/soap.js:95:10) at Player.play (/home/pi/sonos-swagger-api-master/node_modules/sonos-discovery/lib/models/Player.js:442:15) at Promise.resolve.then.then (/home/pi/sonos-swagger-api-master/api/helpers/playpause.js:32:39) at bound (domain.js:280:14) at runBound (domain.js:293:12) at tryCatcher (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/util.js:16:23) at Promise._settlePromiseFromHandler (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/promise.js:512:31) at Promise._settlePromise (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/promise.js:569:18) at Promise._settlePromise0 (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/promise.js:614:10) at Promise._settlePromises (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/promise.js:693:18) at Async._drainQueue (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/async.js:133:16) at Async._drainQueues (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/async.js:143:10) at Immediate.Async.drainQueues (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/async.js:17:14) at runCallback (timers.js:672:20) at tryOnImmediate (timers.js:645:5) at processImmediate [as _immediateCallback] (timers.js:617:5) method: 'POST', path: '/MediaRenderer/AVTransport/Control', host: '192.168.1.150', port: 1400, headers: { 'CONTENT-TYPE': 'text/xml; charset="utf-8"', SOAPACTION: '"urn:schemas-upnp-org:service:AVTransport:1#Play"', 'CONTENT-LENGTH': 266 }, statusCode: 500, statusMessage: 'Internal Server Error', body: 's:ClientUPnPError701' } pipes exit fitting: swagger_router +24ms pipes post-flight fitting: swagger_router +1ms pipes:content output (context[output]): {"message":"Got status 500 when invoking /MediaRenderer/AVTransport/Control","stack":"Error\n at Object.invoke (/home/pi/sonos-swagger-api-master/node_modules/sonos-discovery/lib/helpers/soap.js:95:10)\n at Player.play (/home/pi/sonos-swagger-api-master/node_modules/sonos-discovery/lib/models/Player.js:442:15)\n at Promise.resolve.then.then (/home/pi/sonos-swagger-api-master/api/helpers/playpause.js:32:39)\n at bound (domain.js:280:14)\n at runBound (domain.js:293:12)\n at tryCatcher (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/util.js:16:23)\n at Promise._settlePromiseFromHandler (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/promise.js:512:31)\n at Promise._settlePromise (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/promise.js:569:18)\n at Promise._settlePromise0 (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/promise.js:614:10)\n at Promise._settlePromises (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/promise.js:693:18)\n at Async._drainQueue (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/async.js:133:16)\n at Async._drainQueues (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/async.js:143:10)\n at Immediate.Async.drainQueues (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/async.js:17:14)\n at runCallback (timers.js:672:20)\n at tryOnImmediate (timers.js:645:5)\n at processImmediate [as _immediateCallback] (timers.js:617:5)","code":"error"} +0ms swagger:content exec undefined +1ms swagger setting response statusCode: 500 +1ms swagger:content setting response headers: {"Content-Type":"application/json"} +0ms swagger:content sending response body: {"message":"Got status 500 when invoking /MediaRenderer/AVTransport/Control","stack":"Error\n at Object.invoke (/home/pi/sonos-swagger-api-master/node_modules/sonos-discovery/lib/helpers/soap.js:95:10)\n at Player.play (/home/pi/sonos-swagger-api-master/node_modules/sonos-discovery/lib/models/Player.js:442:15)\n at Promise.resolve.then.then (/home/pi/sonos-swagger-api-master/api/helpers/playpause.js:32:39)\n at bound (domain.js:280:14)\n at runBound (domain.js:293:12)\n at tryCatcher (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/util.js:16:23)\n at Promise._settlePromiseFromHandler (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/promise.js:512:31)\n at Promise._settlePromise (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/promise.js:569:18)\n at Promise._settlePromise0 (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/promise.js:614:10)\n at Promise._settlePromises (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/promise.js:693:18)\n at Async._drainQueue (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/async.js:133:16)\n at Async._drainQueues (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/async.js:143:10)\n at Immediate.Async.drainQueues (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/async.js:17:14)\n at runCallback (timers.js:672:20)\n at tryOnImmediate (timers.js:645:5)\n at processImmediate [as _immediateCallback] (timers.js:617:5)","code":"error"} +1ms swagger validating response +2ms swagger:content response body type: string value: {"message":"Got status 500 when invoking /MediaRenderer/AVTransport/Control","stack":"Error\n at Object.invoke (/home/pi/sonos-swagger-api-master/node_modules/sonos-discovery/lib/helpers/soap.js:95:10)\n at Player.play (/home/pi/sonos-swagger-api-master/node_modules/sonos-discovery/lib/models/Player.js:442:15)\n at Promise.resolve.then.then (/home/pi/sonos-swagger-api-master/api/helpers/playpause.js:32:39)\n at bound (domain.js:280:14)\n at runBound (domain.js:293:12)\n at tryCatcher (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/util.js:16:23)\n at Promise._settlePromiseFromHandler (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/promise.js:512:31)\n at Promise._settlePromise (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/promise.js:569:18)\n at Promise._settlePromise0 (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/promise.js:614:10)\n at Promise._settlePromises (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/promise.js:693:18)\n at Async._drainQueue (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/async.js:133:16)\n at Async._drainQueues (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/async.js:143:10)\n at Immediate.Async.drainQueues (/home/pi/sonos-swagger-api-master/node_modules/bluebird/js/release/async.js:17:14)\n at runCallback (timers.js:672:20)\n at tryOnImmediate (timers.js:645:5)\n at processImmediate [as _immediateCallback] (timers.js:617:5)","code":"error"} +0ms swagger validation result: { errors: [], warnings: [] } +2ms finalhandler cannot 404 after headers sent +9ms