@@ -67,130 +67,131 @@ const EntryComponent = React.memo(
6767 value : Entry ;
6868 onCreateMock : ( mock : string ) => void ;
6969 } ) => {
70- const path =
71- value . request . path + formatQueryParams ( value . request . query_params ) ;
70+ const path =
71+ value . request . path + formatQueryParams ( value . request . query_params ) ;
7272
73- let responseStatusColor = "blue" ;
74- if ( value . response . status >= 600 ) {
75- responseStatusColor = "magenta" ;
76- } else if ( value . context . mock_type === "proxy" ) {
77- if ( value . response . status >= 500 ) {
78- responseStatusColor = "red" ;
79- } else if ( value . response . status >= 400 ) {
80- responseStatusColor = "orange" ;
73+ let responseStatusColor = "blue" ;
74+ if ( value . response . status >= 600 ) {
75+ responseStatusColor = "magenta" ;
76+ } else if ( value . context . mock_type === "proxy" ) {
77+ if ( value . response . status >= 500 ) {
78+ responseStatusColor = "red" ;
79+ } else if ( value . response . status >= 400 ) {
80+ responseStatusColor = "orange" ;
81+ }
8182 }
82- }
8383
84- let responseStatusTitle = "Unknown HTTP status code" ;
85- try {
86- responseStatusTitle = getReasonPhrase ( value . response . status ) ;
87- } catch {
88- if ( value . response . status >= 600 ) {
89- responseStatusTitle = "Smocker error" ;
84+ let responseStatusTitle = "Unknown HTTP status code" ;
85+ try {
86+ responseStatusTitle = getReasonPhrase ( value . response . status ) ;
87+ } catch {
88+ if ( value . response . status >= 600 ) {
89+ responseStatusTitle = "Smocker error" ;
90+ }
9091 }
91- }
9292
93- return (
94- < div className = "entry" >
95- < div className = "request" >
96- < div className = "details" >
97- < Tag color = "blue" > { value . request . method } </ Tag >
98- < Typography . Text ellipsis className = "path" title = { path } >
99- { path }
100- </ Typography . Text >
101- < span className = "date" >
102- { dayjs ( value . request . date ) . format ( dateFormat ) }
103- </ span >
104- </ div >
105- { value . request . headers && (
106- < table >
107- < tbody >
108- { Object . entries ( value . request . headers ) . map ( ( entry ) =>
109- TableRow ( entry )
110- ) }
111- </ tbody >
112- </ table >
113- ) }
114- { value . request . body ? (
115- < Code
116- value = {
117- JSON . stringify ( value . request . body , null , " " ) ||
118- `${ value . request . body } `
119- }
120- language = "json"
121- />
122- ) : null }
123- < div className = "actions" >
124- < Typography . Paragraph copyable = { { text : entryToCurl ( value ) } } >
125- Copy as curl
126- </ Typography . Paragraph >
127- </ div >
128- </ div >
129- < div className = "response" >
130- < div className = "details" >
131- { value . context . mock_type === "proxy" && < Tag > Proxified</ Tag > }
132- < Tag color = { responseStatusColor } title = { responseStatusTitle } >
133- { value . response . status }
134- </ Tag >
135- { value . response . status >= 600 && (
136- < Typography . Text
137- className = "error"
138- ellipsis
139- title = { ( value . response . body as SmockerError ) . message }
140- >
141- { ( value . response . body as SmockerError ) . message }
93+ return (
94+ < div className = "entry" >
95+ < div className = "request" >
96+ < div className = "details" >
97+ < Tag color = "blue" > { value . request . method } </ Tag >
98+ < Typography . Text ellipsis className = "path" title = { path } >
99+ { path }
142100 </ Typography . Text >
143- ) }
144- { value . context . mock_id && (
145- < span >
146- < Link to = { `/pages/mocks/${ value . context . mock_id } ` } >
147- Matched Mock
148- </ Link >
101+ < span className = "date" >
102+ { dayjs ( value . request . date ) . format ( dateFormat ) }
149103 </ span >
104+ </ div >
105+ { value . request . headers && (
106+ < table >
107+ < tbody >
108+ { Object . entries ( value . request . headers ) . map ( ( entry ) =>
109+ TableRow ( entry ) ,
110+ ) }
111+ </ tbody >
112+ </ table >
150113 ) }
151- < span className = "date" >
152- { dayjs ( value . response . date ) . format ( dateFormat ) }
153- </ span >
114+ { value . request . body ? (
115+ < Code
116+ value = {
117+ JSON . stringify ( value . request . body , null , " " ) ||
118+ `${ value . request . body } `
119+ }
120+ language = "json"
121+ />
122+ ) : null }
123+ < div className = "actions" >
124+ < Typography . Paragraph copyable = { { text : entryToCurl ( value ) } } >
125+ Copy as curl
126+ </ Typography . Paragraph >
127+ </ div >
154128 </ div >
155- < Typography . Paragraph >
156- < Button
157- block
158- type = "dashed"
159- onClick = { ( ) => onCreateMock ( newMockFromEntry ( value ) ) }
160- >
161- < PlusCircleOutlined />
162- { value . response . status >= 600
163- ? "Create a new mock from request"
164- : "Create a new mock from entry" }
165- </ Button >
166- </ Typography . Paragraph >
167- { value . response . headers && (
168- < table >
169- < tbody >
170- { Object . entries ( value . response . headers ) . map ( ( entry ) =>
171- TableRow ( entry )
172- ) }
173- </ tbody >
174- </ table >
175- ) }
176- { value . response . body ? (
177- < Code
178- value = {
179- JSON . stringify ( value . response . body , null , " " ) ||
180- `${ value . response . body } `
181- }
182- language = "json"
183- />
184- ) : null }
185- { value . context . delay && (
186- < Typography . Paragraph className = "delay" >
187- This response was delayed by < span > { value . context . delay } </ span >
129+ < div className = "response" >
130+ < div className = "details" >
131+ { value . context . mock_type === "proxy" && < Tag > Proxified</ Tag > }
132+ < Tag color = { responseStatusColor } title = { responseStatusTitle } >
133+ { value . response . status }
134+ </ Tag >
135+ { value . response . status >= 600 && (
136+ < Typography . Text
137+ className = "error"
138+ ellipsis
139+ title = { ( value . response . body as SmockerError ) . message }
140+ >
141+ { ( value . response . body as SmockerError ) . message }
142+ </ Typography . Text >
143+ ) }
144+ { value . context . mock_id && (
145+ < span >
146+ < Link to = { `/pages/mocks/${ value . context . mock_id } ` } >
147+ Matched Mock
148+ </ Link >
149+ </ span >
150+ ) }
151+ < span className = "date" >
152+ { dayjs ( value . response . date ) . format ( dateFormat ) }
153+ </ span >
154+ </ div >
155+ < Typography . Paragraph >
156+ < Button
157+ block
158+ type = "dashed"
159+ onClick = { ( ) => onCreateMock ( newMockFromEntry ( value ) ) }
160+ >
161+ < PlusCircleOutlined />
162+ { value . response . status >= 600
163+ ? "Create a new mock from request"
164+ : "Create a new mock from entry" }
165+ </ Button >
188166 </ Typography . Paragraph >
189- ) }
167+ { value . response . headers && (
168+ < table >
169+ < tbody >
170+ { Object . entries ( value . response . headers ) . map ( ( entry ) =>
171+ TableRow ( entry ) ,
172+ ) }
173+ </ tbody >
174+ </ table >
175+ ) }
176+ { value . response . body ? (
177+ < Code
178+ value = {
179+ JSON . stringify ( value . response . body , null , " " ) ||
180+ `${ value . response . body } `
181+ }
182+ language = "json"
183+ />
184+ ) : null }
185+ { value . context . delay && (
186+ < Typography . Paragraph className = "delay" >
187+ This response was delayed by < span > { value . context . delay } </ span >
188+ </ Typography . Paragraph >
189+ ) }
190+ </ div >
190191 </ div >
191- </ div >
192- ) ;
193- } ) ;
192+ ) ;
193+ } ,
194+ ) ;
194195EntryComponent . displayName = "Entry" ;
195196
196197const HistoryComponent = ( ) : React . JSX . Element => {
@@ -210,7 +211,7 @@ const HistoryComponent = (): React.JSX.Element => {
210211 const [ order , setOrder ] = useLocalStorage ( "history.order.by.date" , "desc" ) ;
211212 const [ entryField , setEntryField ] = useLocalStorage (
212213 "history.order.by.entry.field" ,
213- "response"
214+ "response" ,
214215 ) ;
215216 const [ filter , setFilter ] = useLocalStorage ( "history.filter" , "all" ) ;
216217
@@ -228,7 +229,7 @@ const HistoryComponent = (): React.JSX.Element => {
228229 const [ newMockValue , setNewMockValue ] = React . useState < string | null > ( null ) ;
229230 const handleCreateMock = React . useCallback (
230231 ( mock : string ) => setNewMockValue ( mock ) ,
231- [ ]
232+ [ ] ,
232233 ) ;
233234
234235 const historyQuery = useHistory ( sessionID , {
@@ -257,8 +258,11 @@ const HistoryComponent = (): React.JSX.Element => {
257258 } else {
258259 const filteredEntries = orderBy (
259260 historyEntries ,
260- [ ( entry ) => ( entryField === "request" ? entry . request . date : entry . response . date ) ] ,
261- [ order as "asc" | "desc" ]
261+ [
262+ ( entry ) =>
263+ entryField === "request" ? entry . request . date : entry . response . date ,
264+ ] ,
265+ [ order as "asc" | "desc" ] ,
262266 ) . filter ( ( entry ) => {
263267 if ( filter === "http-errors" ) {
264268 return entry . response . status >= 400 && entry . response . status <= 599 ;
@@ -305,7 +309,7 @@ const HistoryComponent = (): React.JSX.Element => {
305309 { filteredEntries
306310 . slice (
307311 Math . max ( ( page - 1 ) * pageSize , 0 ) ,
308- Math . min ( page * pageSize , filteredEntries . length )
312+ Math . min ( page * pageSize , filteredEntries . length ) ,
309313 )
310314 . map ( ( entry , index ) => (
311315 < EntryComponent
0 commit comments