Skip to content

Commit 0bd5ddb

Browse files
authored
fix: accept vnd.openapi+json (#133)
1 parent 63205e5 commit 0bd5ddb

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

src/openapi3/parseOpenApi3Documentation.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { Api } from "../Api.js";
22
import handleJson, { removeTrailingSlash } from "./handleJson.js";
33
import type { OpenAPIV3 } from "openapi-types";
4+
import type { RequestInitExtended } from "./types";
45

56
export interface ParsedOpenApi3Documentation {
67
api: Api;
@@ -9,10 +10,16 @@ export interface ParsedOpenApi3Documentation {
910
}
1011

1112
export default function parseOpenApi3Documentation(
12-
entrypointUrl: string
13+
entrypointUrl: string,
14+
options: RequestInitExtended = {}
1315
): Promise<ParsedOpenApi3Documentation> {
1416
entrypointUrl = removeTrailingSlash(entrypointUrl);
15-
return fetch(entrypointUrl)
17+
let headers: HeadersInit | undefined =
18+
typeof options.headers === "function" ? options.headers() : options.headers;
19+
headers = new Headers(headers);
20+
headers.append("Accept", "application/vnd.openapi+json");
21+
22+
return fetch(entrypointUrl, { ...options, headers: headers })
1623
.then((res) => Promise.all([res, res.json()]))
1724
.then(
1825
([res, response]: [res: Response, response: OpenAPIV3.Document]) => {

src/openapi3/types.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export interface RequestInitExtended extends Omit<RequestInit, "headers"> {
2+
headers?: HeadersInit | (() => HeadersInit);
3+
}

0 commit comments

Comments
 (0)