/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ import { RequestMethod, ResponseContentType } from './enums'; import { Headers } from './headers'; import { RequestOptionsArgs } from './interfaces'; import { URLSearchParams } from './url_search_params'; /** * Creates a request options object to be optionally provided when instantiating a * {@link Request}. * * This class is based on the `RequestInit` description in the [Fetch * Spec](https://fetch.spec.whatwg.org/#requestinit). * * All values are null by default. Typical defaults can be found in the {@link BaseRequestOptions} * class, which sub-classes `RequestOptions`. * * ```typescript * import {RequestOptions, Request, RequestMethod} from '@angular/http'; * * const options = new RequestOptions({ * method: RequestMethod.Post, * url: 'https://google.com' * }); * const req = new Request(options); * console.log('req.method:', RequestMethod[req.method]); // Post * console.log('options.url:', options.url); // https://google.com * ``` * * @deprecated see https://angular.io/guide/http * @publicApi */ export declare class RequestOptions { /** * Http method with which to execute a {@link Request}. * Acceptable methods are defined in the {@link RequestMethod} enum. */ method: RequestMethod | string | null; /** * {@link Headers} to be attached to a {@link Request}. */ headers: Headers | null; /** * Body to be used when creating a {@link Request}. */ body: any; /** * Url with which to perform a {@link Request}. */ url: string | null; /** * Search parameters to be included in a {@link Request}. */ params: URLSearchParams; /** * @deprecated from 4.0.0. Use params instead. */ /** * @deprecated from 4.0.0. Use params instead. */ search: URLSearchParams; /** * Enable use credentials for a {@link Request}. */ withCredentials: boolean | null; responseType: ResponseContentType | null; constructor(opts?: RequestOptionsArgs); /** * Creates a copy of the `RequestOptions` instance, using the optional input as values to override * existing values. This method will not change the values of the instance on which it is being * called. * * Note that `headers` and `search` will override existing values completely if present in * the `options` object. If these values should be merged, it should be done prior to calling * `merge` on the `RequestOptions` instance. * * ```typescript * import {RequestOptions, Request, RequestMethod} from '@angular/http'; * * const options = new RequestOptions({ * method: RequestMethod.Post * }); * const req = new Request(options.merge({ * url: 'https://google.com' * })); * console.log('req.method:', RequestMethod[req.method]); // Post * console.log('options.url:', options.url); // null * console.log('req.url:', req.url); // https://google.com * ``` */ merge(options?: RequestOptionsArgs): RequestOptions; private _mergeSearchParams; private _parseParams; private _appendParam; } /** * Subclass of {@link RequestOptions}, with default values. * * Default values: * * method: {@link RequestMethod RequestMethod.Get} * * headers: empty {@link Headers} object * * This class could be extended and bound to the {@link RequestOptions} class * when configuring an {@link Injector}, in order to override the default options * used by {@link Http} to create and send {@link Request Requests}. * * ```typescript * import {BaseRequestOptions, RequestOptions} from '@angular/http'; * * class MyOptions extends BaseRequestOptions { * search: string = 'coreTeam=true'; * } * * {provide: RequestOptions, useClass: MyOptions}; * ``` * * The options could also be extended when manually creating a {@link Request} * object. * * ``` * import {BaseRequestOptions, Request, RequestMethod} from '@angular/http'; * * const options = new BaseRequestOptions(); * const req = new Request(options.merge({ * method: RequestMethod.Post, * url: 'https://google.com' * })); * console.log('req.method:', RequestMethod[req.method]); // Post * console.log('options.url:', options.url); // null * console.log('req.url:', req.url); // https://google.com * ``` * * @deprecated see https://angular.io/guide/http * @publicApi */ export declare class BaseRequestOptions extends RequestOptions { constructor(); }