mikakoivisto / controlmyspa-ha-mqtt

GNU General Public License v3.0
13 stars 5 forks source link

Docker container starts then exits #5

Closed ryborg closed 1 year ago

ryborg commented 2 years ago

Log attached: Using configuration file: ./config.json Configuration file not found, attempting to use environment variables for configuration. Error: Request failed with status code 404     at createError (/usr/src/app/node_modules/axios/lib/core/createError.js:16:15)     at settle (/usr/src/app/node_modules/axios/lib/core/settle.js:17:12)     at IncomingMessage.handleStreamEnd (/usr/src/app/node_modules/axios/lib/adapters/http.js:269:11)     at IncomingMessage.emit (node:events:539:35)     at endReadableNT (node:internal/streams/readable:1345:12)     at processTicksAndRejections (node:internal/process/task_queues:83:21) {   config: {     url: 'https://iot.controlmyspa.com/mobile/spas/search/findByUsername?username=email@gmail.com',     method: 'get',     headers: {       Accept: '*/*',       'User-Agent': 'ControlMySpa/3.0.2 (com.controlmyspa.qa; build:1; iOS 14.2.0) Alamofire/5.2.2',       'Accept-Encoding': 'br;q=1.0, gzip;q=0.9, deflate;q=0.8',       'Accept-Language': 'cs-CZ;q=1.0',       Authorization: 'Bearer def3cf32-2950-4ac5-94e4-862ebba35ea3'     },     transformRequest: [ [Function: transformRequest] ],     transformResponse: [ [Function: transformResponse] ],     timeout: 0,     adapter: [Function: httpAdapter],     xsrfCookieName: 'XSRF-TOKEN',     xsrfHeaderName: 'X-XSRF-TOKEN',     maxContentLength: -1,     maxBodyLength: -1,     validateStatus: [Function: validateStatus],     transitional: {       silentJSONParsing: true,       forcedJSONParsing: true,       clarifyTimeoutError: false     },     data: undefined   },   request: <ref *1> ClientRequest {     _events: [Object: null prototype] {       abort: [Function (anonymous)],       aborted: [Function (anonymous)],       connect: [Function (anonymous)],       error: [Function (anonymous)],       socket: [Function (anonymous)],       timeout: [Function (anonymous)],       prefinish: [Function: requestOnPrefinish]     },     _eventsCount: 7,     _maxListeners: undefined,     outputData: [],     outputSize: 0,     writable: true,     destroyed: false,     _last: true,     chunkedEncoding: false,     shouldKeepAlive: false,     maxRequestsOnConnectionReached: false,     _defaultKeepAlive: true,     useChunkedEncodingByDefault: false,     sendDate: false,     _removedConnection: false,     _removedContLen: false,     _removedTE: false,     _contentLength: 0,     _hasBody: true,     _trailer: '',     finished: true,     _headerSent: true,     _closed: false,     socket: TLSSocket {       _tlsOptions: [Object],       _secureEstablished: true,       _securePending: false,       _newSessionPending: false,       _controlReleased: true,       secureConnecting: false,       _SNICallback: null,       servername: 'iot.controlmyspa.com',       alpnProtocol: false,       authorized: true,       authorizationError: null,       encrypted: true,       _events: [Object: null prototype],       _eventsCount: 10,       connecting: false,       _hadError: false,       _parent: null,       _host: 'iot.controlmyspa.com',       _readableState: [ReadableState],       _maxListeners: undefined,       _writableState: [WritableState],       allowHalfOpen: false,       _sockname: null,       _pendingData: null,       _pendingEncoding: '',       server: undefined,       _server: null,       ssl: [TLSWrap],       _requestCert: true,       _rejectUnauthorized: true,       parser: null,       _httpMessage: [Circular *1],       [Symbol(res)]: [TLSWrap],       [Symbol(verified)]: true,       [Symbol(pendingSession)]: null,       [Symbol(async_id_symbol)]: 74,       [Symbol(kHandle)]: [TLSWrap],       [Symbol(lastWriteQueueSize)]: 0,       [Symbol(timeout)]: null,       [Symbol(kBuffer)]: null,       [Symbol(kBufferCb)]: null,       [Symbol(kBufferGen)]: null,       [Symbol(kCapture)]: false,       [Symbol(kSetNoDelay)]: false,       [Symbol(kSetKeepAlive)]: false,       [Symbol(kSetKeepAliveInitialDelay)]: 0,       [Symbol(kBytesRead)]: 0,       [Symbol(kBytesWritten)]: 0,       [Symbol(connect-options)]: [Object],       [Symbol(RequestTimeout)]: undefined     },     _header: 'GET /mobile/spas/search/findByUsername?username=email@gmail.com HTTP/1.1\r\n' +       'Accept: */*\r\n' +       'User-Agent: ControlMySpa/3.0.2 (com.controlmyspa.qa; build:1; iOS 14.2.0) Alamofire/5.2.2\r\n' +       'Accept-Encoding: br;q=1.0, gzip;q=0.9, deflate;q=0.8\r\n' +       'Accept-Language: cs-CZ;q=1.0\r\n' +       'Authorization: Bearer def3cf32-2950-4ac5-94e4-862ebba35ea3\r\n' +       'Host: iot.controlmyspa.com\r\n' +       'Connection: close\r\n' +       '\r\n',     _keepAliveTimeout: 0,     _onPendingData: [Function: nop],     agent: Agent {       _events: [Object: null prototype],       _eventsCount: 2,       _maxListeners: undefined,       defaultPort: 443,       protocol: 'https:',       options: [Object: null prototype],       requests: [Object: null prototype] {},       sockets: [Object: null prototype],       freeSockets: [Object: null prototype] {},       keepAliveMsecs: 1000,       keepAlive: false,       maxSockets: Infinity,       maxFreeSockets: 256,       scheduling: 'lifo',       maxTotalSockets: Infinity,       totalSocketCount: 1,       maxCachedSessions: 100,       _sessionCache: [Object],       [Symbol(kCapture)]: false     },     socketPath: undefined,     method: 'GET',     maxHeaderSize: undefined,     insecureHTTPParser: undefined,     path: '/mobile/spas/search/findByUsername?username=email@gmail.com',     _ended: true,     res: IncomingMessage {       _readableState: [ReadableState],       _events: [Object: null prototype],       _eventsCount: 3,       _maxListeners: undefined,       socket: [TLSSocket],       httpVersionMajor: 1,       httpVersionMinor: 1,       httpVersion: '1.1',       complete: true,       rawHeaders: [Array],       rawTrailers: [],       aborted: false,       upgrade: false,       url: '',       method: null,       statusCode: 404,       statusMessage: 'Not Found',       client: [TLSSocket],       _consuming: false,       _dumped: false,       req: [Circular *1],       responseUrl: 'https://iot.controlmyspa.com/mobile/spas/search/findByUsername?username=email@gmail.com',       redirects: [],       [Symbol(kCapture)]: false,       [Symbol(kHeaders)]: [Object],       [Symbol(kHeadersCount)]: 22,       [Symbol(kTrailers)]: null,       [Symbol(kTrailersCount)]: 0,       [Symbol(RequestTimeout)]: undefined     },     aborted: false,     timeoutCb: null,     upgradeOrConnect: false,     parser: null,     maxHeadersCount: null,     reusedSocket: false,     host: 'iot.controlmyspa.com',     protocol: 'https:',     _redirectable: Writable {       _writableState: [WritableState],       _events: [Object: null prototype],       _eventsCount: 2,       _maxListeners: undefined,       _options: [Object],       _ended: true,       _ending: true,       _redirectCount: 0,       _redirects: [],       _requestBodyLength: 0,       _requestBodyBuffers: [],       _onNativeResponse: [Function (anonymous)],       _currentRequest: [Circular *1],       _currentUrl: 'https://iot.controlmyspa.com/mobile/spas/search/findByUsername?username=email@gmail.com',       [Symbol(kCapture)]: false     },     [Symbol(kCapture)]: false,     [Symbol(kNeedDrain)]: false,     [Symbol(corked)]: 0,     [Symbol(kOutHeaders)]: [Object: null prototype] {       accept: [Array],       'user-agent': [Array],       'accept-encoding': [Array],       'accept-language': [Array],       authorization: [Array],       host: [Array]     }   },   response: {     status: 404,     statusText: 'Not Found',     headers: {       server: 'openresty/1.21.4.1',       date: 'Thu, 04 Aug 2022 22:01:10 GMT',       'content-length': '0',       connection: 'close',       'x-content-type-options': 'nosniff',       'x-xss-protection': '1; mode=block',       'cache-control': 'no-cache, no-store, max-age=0, must-revalidate',       pragma: 'no-cache',       expires: '0',       'x-frame-options': 'DENY',       'x-application-context': 'application:prod:8800'     },     config: {       url: 'https://iot.controlmyspa.com/mobile/spas/search/findByUsername?username=email@gmail.com',       method: 'get',       headers: [Object],       transformRequest: [Array],       transformResponse: [Array],       timeout: 0,       adapter: [Function: httpAdapter],       xsrfCookieName: 'XSRF-TOKEN',       xsrfHeaderName: 'X-XSRF-TOKEN',       maxContentLength: -1,       maxBodyLength: -1,       validateStatus: [Function: validateStatus],       transitional: [Object],       data: undefined     },     request: <ref *1> ClientRequest {       _events: [Object: null prototype],       _eventsCount: 7,       _maxListeners: undefined,       outputData: [],       outputSize: 0,       writable: true,       destroyed: false,       _last: true,       chunkedEncoding: false,       shouldKeepAlive: false,       maxRequestsOnConnectionReached: false,       _defaultKeepAlive: true,       useChunkedEncodingByDefault: false,       sendDate: false,       _removedConnection: false,       _removedContLen: false,       _removedTE: false,       _contentLength: 0,       _hasBody: true,       _trailer: '',       finished: true,       _headerSent: true,       _closed: false,       socket: [TLSSocket],       _header: 'GET /mobile/spas/search/findByUsername?username=email@gmail.com HTTP/1.1\r\n' +         'Accept: */*\r\n' +         'User-Agent: ControlMySpa/3.0.2 (com.controlmyspa.qa; build:1; iOS 14.2.0) Alamofire/5.2.2\r\n' +         'Accept-Encoding: br;q=1.0, gzip;q=0.9, deflate;q=0.8\r\n' +         'Accept-Language: cs-CZ;q=1.0\r\n' +         'Authorization: Bearer def3cf32-2950-4ac5-94e4-862ebba35ea3\r\n' +         'Host: iot.controlmyspa.com\r\n' +         'Connection: close\r\n' +         '\r\n',       _keepAliveTimeout: 0,       _onPendingData: [Function: nop],       agent: [Agent],       socketPath: undefined,       method: 'GET',       maxHeaderSize: undefined,       insecureHTTPParser: undefined,       path: '/mobile/spas/search/findByUsername?username=email@gmail.com',       _ended: true,       res: [IncomingMessage],       aborted: false,       timeoutCb: null,       upgradeOrConnect: false,       parser: null,       maxHeadersCount: null,       reusedSocket: false,       host: 'iot.controlmyspa.com',       protocol: 'https:',       _redirectable: [Writable],       [Symbol(kCapture)]: false,       [Symbol(kNeedDrain)]: false,       [Symbol(corked)]: 0,       [Symbol(kOutHeaders)]: [Object: null prototype]     },     data: ''   },   isAxiosError: true,   toJSON: [Function: toJSON] }

mikakoivisto commented 1 year ago

Sorry missed this. Probably some configuration property not right. Just completely rewrote this thing so should be more robust and tell what's wrong instead of exploding like this.