Skip to content

Commit f6f8256

Browse files
authored
fix: request/response object validation (#709)
1 parent 5881e45 commit f6f8256

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

packages/protocol-http/src/httpRequest.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ export class HttpRequest implements HttpMessage, Endpoint {
4343

4444
static isInstance(request: unknown): request is HttpRequest {
4545
//determine if request is a valid httpRequest
46+
if (!request) return false;
4647
const req: any = request;
4748
return (
4849
"method" in req &&

packages/protocol-http/src/httpResponse.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,19 @@ export class HttpResponse {
1414
public statusCode: number;
1515
public headers: HeaderBag;
1616
public body?: any;
17-
private readonly isHttpResponse = true;
1817

1918
constructor(options: HttpResponseOptions) {
2019
this.statusCode = options.statusCode;
2120
this.headers = options.headers || {};
2221
this.body = options.body;
2322
}
2423

25-
static isInstance(request: unknown): request is HttpResponse {
24+
static isInstance(response: unknown): response is HttpResponse {
25+
//determine if response is a valid HttpResponse
26+
if (!response) return false;
27+
const resp = response as any;
2628
return (
27-
request !== undefined && (request as HttpResponse).isHttpResponse === true
29+
typeof resp.statusCode === "number" && typeof resp.headers === "object"
2830
);
2931
}
3032
}

0 commit comments

Comments
 (0)