MCPcopy
hub / github.com/AndrewWalsh/openapi-devtools / isValidRequest

Function isValidRequest

src/utils/helpers.ts:31–53  ·  view source on GitHub ↗
(harRequest: Entry, content: string)

Source from the content-addressed store, hash-verified

29const validResourceTypes = new Set(["xhr", "fetch", "document"]);
30const isValidStatus = (status: string) => validStatuses.has(status);
31export const isValidRequest = (harRequest: Entry, content: string): boolean => {
32 const isNotAJAXRequest =
33 !!harRequest._resourceType &&
34 !validResourceTypes.has(harRequest._resourceType);
35 if (isNotAJAXRequest) return false;
36 const didNotReachServer = !harRequest.serverIPAddress;
37 if (didNotReachServer) return false;
38 const isNotJSON =
39 !harRequest.response.content.mimeType.startsWith("application/json") &&
40 !isValidJSONString(content);
41 const isNotXWWWFormUrlEncoded =
42 !harRequest.request.postData?.mimeType.startsWith(
43 "application/x-www-form-urlencoded"
44 );
45 const isNotValidMime = isNotJSON && isNotXWWWFormUrlEncoded;
46 if (isNotValidMime) return false;
47 const isNotValidStatus = !isValidStatus(harRequest.request.method);
48 if (isNotValidStatus) return false;
49 if (!isValidURL(harRequest.request.url)) return false;
50 if (isGraphQLURI(harRequest.request.url)) return false;
51 if (isJSONFile(harRequest.request.url)) return false;
52 return true;
53};
54
55export const pathToArray = (pathname: string): Array<string> => {
56 return pathname.split("/").slice(1);

Callers 1

insertMethod · 0.90

Calls 5

isValidJSONStringFunction · 0.85
isValidStatusFunction · 0.85
isValidURLFunction · 0.85
isGraphQLURIFunction · 0.85
isJSONFileFunction · 0.85

Tested by

no test coverage detected