diff --git a/packages/auth-fetch/src/auth-fetch.ts b/packages/auth-fetch/src/auth-fetch.ts index a6ff2fea73..8b69be03d9 100644 --- a/packages/auth-fetch/src/auth-fetch.ts +++ b/packages/auth-fetch/src/auth-fetch.ts @@ -70,7 +70,7 @@ async function getAuth(options: AuthFetchOptions, url: string | URL, method: str export function createAuthFetch( h: fetcher, - parser: (body: M, responseType: HttpFetchResponseType) => Promise + parser: (body: M, responseType: HttpFetchResponseType | undefined) => Promise ) { const authHttpFetch = async >(options: T & AuthFetchOptions): ReturnType> => { const method = getFetchMethod(options); @@ -99,7 +99,7 @@ export function createAuthFetch( }; } - let authenticateHeaders: string | string[] = initialResponse.headers.get('www-authenticate'); + let authenticateHeaders: string | string[] | null = initialResponse.headers.get('www-authenticate'); if (!authenticateHeaders) throw new Error('Did not find WWW-Authenticate header.'); diff --git a/packages/auth-fetch/tsconfig.json b/packages/auth-fetch/tsconfig.json index 8f3b71a840..b1e73c4826 100644 --- a/packages/auth-fetch/tsconfig.json +++ b/packages/auth-fetch/tsconfig.json @@ -9,6 +9,7 @@ "inlineSources": true, "declaration": true, "resolveJsonModule": true, + "strict": true }, "include": [ "src/**/*" diff --git a/server/src/fetch/http-fetch.ts b/server/src/fetch/http-fetch.ts index 00c19a5896..830626b6f5 100644 --- a/server/src/fetch/http-fetch.ts +++ b/server/src/fetch/http-fetch.ts @@ -41,7 +41,7 @@ const StreamParser: FetchParser = { } } -export function getHttpFetchParser(responseType: HttpFetchResponseType) { +export function getHttpFetchParser(responseType: HttpFetchResponseType | undefined) { switch (responseType) { case 'json': return JSONParser; @@ -53,7 +53,7 @@ export function getHttpFetchParser(responseType: HttpFetchResponseType) { return BufferParser; } -export function httpFetchParseIncomingMessage(readable: IncomingMessage, responseType: HttpFetchResponseType) { +export function httpFetchParseIncomingMessage(readable: IncomingMessage, responseType: HttpFetchResponseType | undefined) { return getHttpFetchParser(responseType).parse(readable); } diff --git a/server/src/fetch/index.ts b/server/src/fetch/index.ts index f0e35e40ba..745c518d1b 100644 --- a/server/src/fetch/index.ts +++ b/server/src/fetch/index.ts @@ -62,7 +62,7 @@ export type fetcher = >(options: T) => Promi >>; -export function getHttpFetchAccept(responseType: HttpFetchResponseType) { +export function getHttpFetchAccept(responseType: HttpFetchResponseType | undefined) { switch (responseType) { case 'json': return 'application/json'; @@ -89,7 +89,7 @@ export function setHeader(headers: [string, string][], key: string, value: strin headers.push([key, value]); } -export function setDefaultHttpFetchAccept(headers: [string, string][], responseType: HttpFetchResponseType) { +export function setDefaultHttpFetchAccept(headers: [string, string][], responseType: HttpFetchResponseType | undefined) { if (hasHeader(headers, 'Accept')) return; const accept = getHttpFetchAccept(responseType); @@ -97,7 +97,7 @@ export function setDefaultHttpFetchAccept(headers: [string, string][], responseT setHeader(headers, 'Accept', accept); } -export function createHeadersArray(headers: HeadersInit): [string, string][] { +export function createHeadersArray(headers: HeadersInit | undefined): [string, string][] { const headersArray: [string, string][] = []; if (!headers) return headersArray; @@ -144,7 +144,7 @@ export function createStringOrBufferBody(headers: [string, string][], body: any) return body; } -export async function domFetchParseIncomingMessage(response: Response, responseType: HttpFetchResponseType) { +export async function domFetchParseIncomingMessage(response: Response, responseType: HttpFetchResponseType | undefined) { switch (responseType) { case 'json': return response.json();