mirror of
https://github.com/kubeshark/kubeshark.git
synced 2026-07-11 01:19:26 +00:00
* Remove gRPC related modifications * Remove gRPC status text related modifications as well * Fixing gRPC vertical image detect grpc when content type is 'application/grpc' as well (and not only from the grpc-status) Co-authored-by: gadotroee <55343099+gadotroee@users.noreply.github.com>
50 lines
1.2 KiB
TypeScript
50 lines
1.2 KiB
TypeScript
import React from "react";
|
|
import styles from './style/StatusCode.module.sass';
|
|
import Queryable from "./Queryable";
|
|
|
|
export enum StatusCodeClassification {
|
|
SUCCESS = "success",
|
|
FAILURE = "failure",
|
|
NEUTRAL = "neutral"
|
|
}
|
|
|
|
interface EntryProps {
|
|
statusCode: number,
|
|
statusQuery: string
|
|
}
|
|
|
|
const StatusCode: React.FC<EntryProps> = ({statusCode, statusQuery}) => {
|
|
|
|
const classification = getClassification(statusCode)
|
|
|
|
return <Queryable
|
|
query={statusQuery}
|
|
displayIconOnMouseOver={true}
|
|
flipped={true}
|
|
iconStyle={{marginTop: "40px", paddingLeft: "10px"}}
|
|
>
|
|
<span
|
|
title="Status Code"
|
|
className={`${styles[classification]} ${styles.base}`}
|
|
>
|
|
{statusCode}
|
|
</span>
|
|
</Queryable>
|
|
};
|
|
|
|
export function getClassification(statusCode: number): string {
|
|
let classification = StatusCodeClassification.NEUTRAL;
|
|
|
|
// 1 - 16 HTTP/2 (gRPC) status codes
|
|
// 2xx - 5xx HTTP/1.x status codes
|
|
if (statusCode >= 200 && statusCode <= 399) {
|
|
classification = StatusCodeClassification.SUCCESS;
|
|
} else if (statusCode >= 400) {
|
|
classification = StatusCodeClassification.FAILURE;
|
|
}
|
|
|
|
return classification
|
|
}
|
|
|
|
export default StatusCode;
|