@@ -6,10 +6,15 @@ export function cn(...inputs: ClassValue[]) {
66 return twMerge ( clsx ( inputs ) )
77}
88
9- export const getColor = ( code : string | number , isBackground : boolean , isFault : boolean ) => {
9+ export const getColor = ( code : string | number | null | undefined , isBackground : boolean , isFault : boolean ) => {
1010 if ( isFault ) {
1111 return isBackground ? "bg-red-500" : "text-red-500" ;
1212 }
13+
14+ if ( code === null || code === undefined || code === "" ) {
15+ return isBackground ? "bg-gray-500" : "text-gray-500" ;
16+ }
17+
1318 if ( typeof code === "number" ) {
1419 return getColorNumber ( code , isBackground ) ;
1520 }
@@ -69,6 +74,7 @@ export const extractCodeLines = (
6974
7075export const calculateAllStatusCounts = ( coveredHttpStatus : CoveredEndpoint [ ] , endpointIds :string [ ] ) => {
7176 const allStatusCounts = {
77+ "NO_RESPONSE" : 0 ,
7278 "2XX" : 0 ,
7379 "3XX" : 0 ,
7480 "4XX" : 0 ,
@@ -84,6 +90,7 @@ export const calculateAllStatusCounts = (coveredHttpStatus: CoveredEndpoint[], e
8490 const uniqueStatusCodes = [ ...new Set ( allStatusCodes ) ] ;
8591
8692 const isContainStatusCode = {
93+ "NO_RESPONSE" : false ,
8794 "2XX" : false ,
8895 "3XX" : false ,
8996 "4XX" : false ,
@@ -92,7 +99,10 @@ export const calculateAllStatusCounts = (coveredHttpStatus: CoveredEndpoint[], e
9299
93100 uniqueStatusCodes . map (
94101 ( status ) => {
95- if ( status >= 200 && status < 300 ) {
102+ if ( status == null ) {
103+ isContainStatusCode [ "NO_RESPONSE" ] = true ;
104+ }
105+ else if ( status >= 200 && status < 300 ) {
96106 isContainStatusCode [ "2XX" ] = true ;
97107 } else if ( status >= 300 && status < 400 ) {
98108 isContainStatusCode [ "3XX" ] = true ;
@@ -103,7 +113,9 @@ export const calculateAllStatusCounts = (coveredHttpStatus: CoveredEndpoint[], e
103113 }
104114 }
105115 )
106-
116+ if ( isContainStatusCode [ "NO_RESPONSE" ] ) {
117+ allStatusCounts [ "NO_RESPONSE" ] ++ ;
118+ }
107119 if ( isContainStatusCode [ "2XX" ] ) {
108120 allStatusCounts [ "2XX" ] ++ ;
109121 }
@@ -259,12 +271,15 @@ export const transformWebFuzzingReport = (original: WebFuzzingCommonsReport | nu
259271
260272 const endpointData = endpointMap . get ( status . endpointId ) ;
261273
262- status . httpStatus . forEach ( code => {
274+ status . httpStatus ? .forEach ( code => {
263275 if ( ! endpointData ) {
264276 return ;
265277 }
266278 let existingStatus = endpointData . httpStatusCodes . find ( ( s : { code : number ; } ) => s . code === code ) ;
267279 if ( ! existingStatus ) {
280+ if ( code === null || code === undefined ) {
281+ code = - 1 ;
282+ }
268283 existingStatus = { code, testCases : [ ] } ;
269284 endpointData . httpStatusCodes . push ( existingStatus ) ;
270285 }
0 commit comments