UNPKG

@optimizely/optimizely-sdk

Version:

JavaScript SDK for Optimizely Feature Experimentation, Optimizely Full Stack (legacy), and Optimizely Rollouts

46 lines (45 loc) 1.81 kB
import { AbortableRequest, Headers, RequestHandler } from './http'; import { LoggerFacade } from '../../logging/logger'; import { Platform } from '../../platform_support'; /** * Handles sending requests and receiving responses over HTTP via NodeJS http module */ export declare class NodeRequestHandler implements RequestHandler { private readonly logger?; private readonly timeout; constructor(opt?: { logger?: LoggerFacade; timeout?: number; }); /** * Builds an XMLHttpRequest * @param requestUrl Fully-qualified URL to which to send the request * @param headers List of headers to include in the request * @param method HTTP method to use * @param data? stringified version of data to POST, PUT, etc * @returns AbortableRequest contains both the response Promise and capability to abort() */ makeRequest(requestUrl: string, headers: Headers, method: string, data?: string): AbortableRequest; /** * Parses a URL into its constituent parts * @param url URL object to parse * @private * @returns http.RequestOptions Standard request options dictionary compatible with both http and https */ private getRequestOptionsFromUrl; /** * Parses headers from an http response * @param incomingMessage Incoming response message to parse * @private * @returns Headers Dictionary of headers without duplicates */ private createHeadersFromNodeIncomingMessage; /** * Sends a built request handling response, errors, and events around the transmission * @param request Request to send * @private * @returns AbortableRequest with simplified response promise */ private getAbortableRequestFromRequest; } export declare const __platforms: Platform[];