@microsoft/kiota-http-fetchlibrary
Version:
Kiota request adapter implementation with fetch
95 lines • 3.52 kB
TypeScript
/**
* -------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License.
* See License in the project root for license information.
* -------------------------------------------------------------------------------------------
*/
/**
* @module RedirectHandler
*/
import { type RequestOption } from "@microsoft/kiota-abstractions";
import type { Middleware } from "./middleware.js";
import { RedirectHandlerOptions } from "./options/redirectHandlerOptions.js";
/**
*
* Class
* Middleware
* Class representing RedirectHandler
*/
export declare class RedirectHandler implements Middleware {
private readonly options;
/**
* A member holding the array of redirect status codes
*/
private static readonly REDIRECT_STATUS_CODES;
/**
* A member holding SeeOther status code
*/
private static readonly STATUS_CODE_SEE_OTHER;
/**
* A member holding the name of the location header
*/
private static readonly LOCATION_HEADER;
/**
* A member holding the manual redirect value
*/
private static readonly MANUAL_REDIRECT;
/** Next middleware to be executed*/
next: Middleware | undefined;
/**
*
*
* To create an instance of RedirectHandler
* @param [options] - The redirect handler options instance
* @returns An instance of RedirectHandler
*/
constructor(options?: RedirectHandlerOptions);
/**
*
* To check whether the response has the redirect status code or not
* @param response - The response object
* @returns A boolean representing whether the response contains the redirect status code or not
*/
private isRedirect;
/**
*
* To check whether the response has location header or not
* @param response - The response object
* @returns A boolean representing the whether the response has location header or not
*/
private hasLocationHeader;
/**
*
* To get the redirect url from location header in response object
* @param response - The response object
* @returns A redirect url from location header
*/
private getLocationHeader;
/**
*
* To check whether the given url is a relative url or not
* @param url - The url string value
* @returns A boolean representing whether the given url is a relative url or not
*/
private isRelativeURL;
/**
* To execute the next middleware and to handle in case of redirect response returned by the server
* @param url - The url string value
* @param fetchRequestInit - The Fetch RequestInit object
* @param redirectCount - The redirect count value
* @param currentOptions - The redirect handler options instance
* @param requestOptions - The request options
* @param tracerName - The name to use for the tracer
* @returns A promise that resolves to nothing
*/
private executeWithRedirect;
/**
* Executes the request and returns a promise resolving the response.
* @param url - The url for the request
* @param requestInit - The Fetch RequestInit object.
* @param requestOptions - The request options.
* @returns A Promise that resolves to the response.
*/
execute(url: string, requestInit: RequestInit, requestOptions?: Record<string, RequestOption>): Promise<Response>;
}
//# sourceMappingURL=redirectHandler.d.ts.map