/** * @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 { Headers } from './headers'; import { ResponseOptionsArgs } from './interfaces'; /** * Creates a response options object to be optionally provided when instantiating a * {@link Response}. * * This class is based on the `ResponseInit` description in the [Fetch * Spec](https://fetch.spec.whatwg.org/#responseinit). * * All values are null by default. Typical defaults can be found in the * {@link BaseResponseOptions} class, which sub-classes `ResponseOptions`. * * This class may be used in tests to build {@link Response Responses} for * mock responses (see {@link MockBackend}). * * @usageNotes * ### Example * * ```typescript * import {ResponseOptions, Response} from '@angular/http'; * * var options = new ResponseOptions({ * body: '{"name":"Jeff"}' * }); * var res = new Response(options); * * console.log('res.json():', res.json()); // Object {name: "Jeff"} * ``` * * @deprecated see https://angular.io/guide/http * @publicApi */ export declare class ResponseOptions { /** * String, Object, ArrayBuffer or Blob representing the body of the {@link Response}. */ body: string | Object | ArrayBuffer | Blob | null; /** * Http {@link http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html status code} * associated with the response. */ status: number | null; /** * Response {@link Headers headers} */ headers: Headers | null; url: string | null; constructor(opts?: ResponseOptionsArgs); /** * Creates a copy of the `ResponseOptions` 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. * * This may be useful when sharing a base `ResponseOptions` object inside tests, * where certain properties may change from test to test. * * @usageNotes * ### Example * * ```typescript * import {ResponseOptions, Response} from '@angular/http'; * * var options = new ResponseOptions({ * body: {name: 'Jeff'} * }); * var res = new Response(options.merge({ * url: 'https://google.com' * })); * console.log('options.url:', options.url); // null * console.log('res.json():', res.json()); // Object {name: "Jeff"} * console.log('res.url:', res.url); // https://google.com * ``` */ merge(options?: ResponseOptionsArgs): ResponseOptions; } /** * Subclass of {@link ResponseOptions}, with default values. * * Default values: * * status: 200 * * headers: empty {@link Headers} object * * This class could be extended and bound to the {@link ResponseOptions} class * when configuring an {@link Injector}, in order to override the default options * used by {@link Http} to create {@link Response Responses}. * * @usageNotes * ### Example * * ```typescript * import {provide} from '@angular/core'; * import {bootstrap} from '@angular/platform-browser/browser'; * import {HTTP_PROVIDERS, Headers, Http, BaseResponseOptions, ResponseOptions} from * '@angular/http'; * import {App} from './myapp'; * * class MyOptions extends BaseResponseOptions { * headers:Headers = new Headers({network: 'github'}); * } * * bootstrap(App, [HTTP_PROVIDERS, {provide: ResponseOptions, useClass: MyOptions}]); * ``` * * The options could also be extended when manually creating a {@link Response} * object. * * ### Example * * ``` * import {BaseResponseOptions, Response} from '@angular/http'; * * var options = new BaseResponseOptions(); * var res = new Response(options.merge({ * body: 'Angular', * headers: new Headers({framework: 'angular'}) * })); * console.log('res.headers.get("framework"):', res.headers.get('framework')); // angular * console.log('res.text():', res.text()); // Angular; * ``` * * @deprecated see https://angular.io/guide/http * @publicApi */ export declare class BaseResponseOptions extends ResponseOptions { constructor(); }