@@ -6,10 +6,15 @@ export function cn(...inputs: ClassValue[]) {
6
6
return twMerge ( clsx ( inputs ) )
7
7
}
8
8
9
- export const getColor = ( code : string | number , isBackground : boolean , isFault : boolean ) => {
9
+ export const getColor = ( code : string | number | null | undefined , isBackground : boolean , isFault : boolean ) => {
10
10
if ( isFault ) {
11
11
return isBackground ? "bg-red-500" : "text-red-500" ;
12
12
}
13
+
14
+ if ( code === null || code === undefined || code === "" ) {
15
+ return isBackground ? "bg-gray-500" : "text-gray-500" ;
16
+ }
17
+
13
18
if ( typeof code === "number" ) {
14
19
return getColorNumber ( code , isBackground ) ;
15
20
}
@@ -69,6 +74,7 @@ export const extractCodeLines = (
69
74
70
75
export const calculateAllStatusCounts = ( coveredHttpStatus : CoveredEndpoint [ ] , endpointIds :string [ ] ) => {
71
76
const allStatusCounts = {
77
+ "NO_RESPONSE" : 0 ,
72
78
"2XX" : 0 ,
73
79
"3XX" : 0 ,
74
80
"4XX" : 0 ,
@@ -84,6 +90,7 @@ export const calculateAllStatusCounts = (coveredHttpStatus: CoveredEndpoint[], e
84
90
const uniqueStatusCodes = [ ...new Set ( allStatusCodes ) ] ;
85
91
86
92
const isContainStatusCode = {
93
+ "NO_RESPONSE" : false ,
87
94
"2XX" : false ,
88
95
"3XX" : false ,
89
96
"4XX" : false ,
@@ -92,7 +99,10 @@ export const calculateAllStatusCounts = (coveredHttpStatus: CoveredEndpoint[], e
92
99
93
100
uniqueStatusCodes . map (
94
101
( status ) => {
95
- if ( status >= 200 && status < 300 ) {
102
+ if ( status == null ) {
103
+ isContainStatusCode [ "NO_RESPONSE" ] = true ;
104
+ }
105
+ else if ( status >= 200 && status < 300 ) {
96
106
isContainStatusCode [ "2XX" ] = true ;
97
107
} else if ( status >= 300 && status < 400 ) {
98
108
isContainStatusCode [ "3XX" ] = true ;
@@ -103,7 +113,9 @@ export const calculateAllStatusCounts = (coveredHttpStatus: CoveredEndpoint[], e
103
113
}
104
114
}
105
115
)
106
-
116
+ if ( isContainStatusCode [ "NO_RESPONSE" ] ) {
117
+ allStatusCounts [ "NO_RESPONSE" ] ++ ;
118
+ }
107
119
if ( isContainStatusCode [ "2XX" ] ) {
108
120
allStatusCounts [ "2XX" ] ++ ;
109
121
}
@@ -259,12 +271,15 @@ export const transformWebFuzzingReport = (original: WebFuzzingCommonsReport | nu
259
271
260
272
const endpointData = endpointMap . get ( status . endpointId ) ;
261
273
262
- status . httpStatus . forEach ( code => {
274
+ status . httpStatus ? .forEach ( code => {
263
275
if ( ! endpointData ) {
264
276
return ;
265
277
}
266
278
let existingStatus = endpointData . httpStatusCodes . find ( ( s : { code : number ; } ) => s . code === code ) ;
267
279
if ( ! existingStatus ) {
280
+ if ( code === null || code === undefined ) {
281
+ code = - 1 ;
282
+ }
268
283
existingStatus = { code, testCases : [ ] } ;
269
284
endpointData . httpStatusCodes . push ( existingStatus ) ;
270
285
}
0 commit comments