diff --git a/packages/api-logs/__tests__/fixtures/requestmodel.json b/packages/api-logs/__tests__/fixtures/requestmodel.json index 9ea753a82..da5b1549b 100644 --- a/packages/api-logs/__tests__/fixtures/requestmodel.json +++ b/packages/api-logs/__tests__/fixtures/requestmodel.json @@ -168,6 +168,151 @@ "subdomain" : "readme", "clientIPAddress" : "someip", "development" : false, + "creator" : { + "name" : "readmeio", + "version" : "0.0.0", + "comment" : "linux/v8.11.2" + }, + "startedDateTime" : "2018-08-16T00:02:12.999+0000", + "responseTime": 3, + "method": "GET", + "url" : "https://dash.readme.io/api/v1/docs/search?query=test", + "httpVersion" : "1.1", + "requestHeaders" : [ + { + "name" : "user-agent", + "value" : "curl/7.54.0", + "_id" : "5b74bf05774f44001dd990f1" + }, + { + "name" : "host", + "value" : "readme.readme.io", + "_id" : "5b74bf05774f44001dd990f6" + }, + { + "name" : "connection", + "value" : "close", + "_id" : "5b74bf05774f44001dd990f5" + }, + { + "name" : "x-forwarded-host", + "value" : "dash.readme.io", + "_id" : "5b74bf05774f44001dd990f4" + }, + { + "name" : "accept", + "value" : "*/*", + "_id" : "5b74bf05774f44001dd990f3" + }, + { + "name" : "x-forwarded-for", + "value" : "136.24.201.16, 54.210.159.126", + "_id" : "5b74bf05774f44001dd990f0" + }, + { + "name" : "x-forwarded-port", + "value" : "443", + "_id" : "5b74bf05774f44001dd990ef" + }, + { + "name" : "x-forwarded-proto", + "value" : "https", + "_id" : "5b74bf05774f44001dd990ee" + }, + { + "name" : "x-request-id", + "value" : "b2dd95ae-04fb-4e44-ad0a-2e5b73162317", + "_id" : "5b74bf05774f44001dd990ed" + }, + { + "name" : "via", + "value" : "1.1 vegur", + "_id" : "5b74bf05774f44001dd990ec" + }, + { + "name" : "connect-time", + "value" : "0", + "_id" : "5b74bf05774f44001dd990eb" + } + ], + "queryString" : [ + { + "name" : "query", + "value" : "test", + "_id" : "5b74bf05774f44001dd990f7" + } + ], + "requestBody" : { + "mimeType" : "application/json", + "params" : [ + + ] + }, + "status": "400", + "statusText" : "Bad Request", + "headers" : [ + { + "name" : "x-xss-protection", + "value" : "1; mode=block", + "_id" : "5b74bf05774f44001dd99102" + }, + { + "name" : "x-dns-prefetch-control", + "value" : "off", + "_id" : "5b74bf05774f44001dd99101" + }, + { + "name" : "x-frame-options", + "value" : "Deny", + "_id" : "5b74bf05774f44001dd99100" + }, + { + "name" : "strict-transport-security", + "value" : "max-age=15552000; includeSubDomains", + "_id" : "5b74bf05774f44001dd990ff" + }, + { + "name" : "x-download-options", + "value" : "noopen", + "_id" : "5b74bf05774f44001dd990fe" + }, + { + "name" : "x-content-type-options", + "value" : "nosniff", + "_id" : "5b74bf05774f44001dd990fd" + }, + { + "name" : "x-powered-by", + "value" : "Express", + "_id" : "5b74bf05774f44001dd990fc" + }, + { + "name" : "content-type", + "value" : "application/json; charset=utf-8", + "_id" : "5b74bf05774f44001dd990fb" + }, + { + "name" : "content-length", + "value" : "80", + "_id" : "5b74bf05774f44001dd990fa" + }, + { + "name" : "etag", + "value" : "W/\"50-iwDQZvKva0kjfFp1QELFLv23tQg\"", + "_id" : "5b74bf05774f44001dd990f9" + }, + { + "name" : "vary", + "value" : "Accept-Encoding", + "_id" : "5b74bf05774f44001dd990f8" + } + ], + "responseBody": { + "text" : "{\"error\":\"Bad Request\",\"description\":\"You must provide a version\",\"errors\":null}", + "size" : 80, + "mimeType" : "application/json; charset=utf-8", + "_id" : "5b74bf05774f44001dd99103" + }, "createdAt" : "2018-08-16T00:02:13.081+0000", "updatedAt" : "2018-08-16T00:02:13.081+0000" } diff --git a/packages/api-logs/__tests__/index.test.jsx b/packages/api-logs/__tests__/index.test.jsx index 27ba5e3c7..058b1859a 100644 --- a/packages/api-logs/__tests__/index.test.jsx +++ b/packages/api-logs/__tests__/index.test.jsx @@ -52,7 +52,7 @@ describe('Logs', () => { it('should render a log with no user-agent', () => { const comp = shallow(); const clonedLog = JSON.parse(JSON.stringify(requestmodel)); - clonedLog.request.log.entries[0].request.headers[0].name = ''; + clonedLog.requestHeaders[0].name = ''; comp.setState({ logs: [clonedLog] }); expect( @@ -195,7 +195,7 @@ describe('Logs', () => { it('when parsed agent is not Other', () => { const comp = shallow(); - requestmodel.request.log.entries[0].request.headers[0].value = 'IE4.0'; + requestmodel.requestHeaders[0].value = 'IE4.0'; comp.setState({ logs: [requestmodel] }); expect(comp.contains(IE4.0)).toBe(true); }); diff --git a/packages/api-logs/index.jsx b/packages/api-logs/index.jsx index d4110c488..582488d75 100644 --- a/packages/api-logs/index.jsx +++ b/packages/api-logs/index.jsx @@ -30,9 +30,7 @@ const LoadingSvg = props => ( ); function getLanguage(log) { - const header = log.request.log.entries[0].request.headers.find( - e => e.name.toLowerCase() === 'user-agent', - ); + const header = log.requestHeaders.find(e => e.name.toLowerCase() === 'user-agent'); if (header) return header.value; return '-'; } @@ -154,12 +152,11 @@ class Logs extends React.Component { const { logs } = this.state; return logs.map(log => { - const entry = log.request.log.entries[0]; return ( - {entry.request.method} - {entry.response.status} - {entry.request.url} + {log.method} + {log.status} + {log.url} {log.group.label} {getLanguage(log)} {new Date(log.createdAt).toLocaleString()}