import { gql, useQuery } from "@apollo/client"; import { Box, Grid, Paper, CircularProgress } from "@material-ui/core"; import ResponseDetail from "./ResponseDetail"; import RequestDetail from "./RequestDetail"; import Alert from "@material-ui/lab/Alert"; const HTTP_REQUEST_LOG = gql` query HttpRequestLog($id: ID!) { httpRequestLog(id: $id) { id method url proto headers { key value } body response { proto headers { key value } statusCode statusReason body } } } `; interface Props { requestId: number; } function LogDetail({ requestId: id }: Props): JSX.Element { const { loading, error, data } = useQuery(HTTP_REQUEST_LOG, { variables: { id }, }); if (loading) { return ; } if (error) { return ( Error fetching logs details: {error.message} ); } if (!data.httpRequestLog) { return ( Request {id} was not found. ); } const { method, url, proto, headers, body, response } = data.httpRequestLog; return (
{response && ( )}
); } export default LogDetail;