12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765 |
- /**
- * @license Angular v5.2.11
- * (c) 2010-2018 Google, Inc. https://angular.io/
- * License: MIT
- */
- import { Injectable, NgModule, Version } from '@angular/core';
- import { __extends } from 'tslib';
- import { Observable } from 'rxjs/Observable';
- import { ɵgetDOM } from '@angular/platform-browser';
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes} checked by tsc
- */
- /**
- * @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
- */
- /**
- * A backend for http that uses the `XMLHttpRequest` browser API.
- *
- * Take care not to evaluate this in non-browser contexts.
- *
- * @deprecated use \@angular/common/http instead
- */
- var BrowserXhr = /** @class */ (function () {
- function BrowserXhr() {
- }
- /**
- * @return {?}
- */
- BrowserXhr.prototype.build = /**
- * @return {?}
- */
- function () { return /** @type {?} */ ((new XMLHttpRequest())); };
- BrowserXhr.decorators = [
- { type: Injectable },
- ];
- /** @nocollapse */
- BrowserXhr.ctorParameters = function () { return []; };
- return BrowserXhr;
- }());
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes} checked by tsc
- */
- /**
- * @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
- */
- /** @enum {number} */
- var RequestMethod = {
- Get: 0,
- Post: 1,
- Put: 2,
- Delete: 3,
- Options: 4,
- Head: 5,
- Patch: 6,
- };
- RequestMethod[RequestMethod.Get] = "Get";
- RequestMethod[RequestMethod.Post] = "Post";
- RequestMethod[RequestMethod.Put] = "Put";
- RequestMethod[RequestMethod.Delete] = "Delete";
- RequestMethod[RequestMethod.Options] = "Options";
- RequestMethod[RequestMethod.Head] = "Head";
- RequestMethod[RequestMethod.Patch] = "Patch";
- /** @enum {number} */
- var ReadyState = {
- Unsent: 0,
- Open: 1,
- HeadersReceived: 2,
- Loading: 3,
- Done: 4,
- Cancelled: 5,
- };
- ReadyState[ReadyState.Unsent] = "Unsent";
- ReadyState[ReadyState.Open] = "Open";
- ReadyState[ReadyState.HeadersReceived] = "HeadersReceived";
- ReadyState[ReadyState.Loading] = "Loading";
- ReadyState[ReadyState.Done] = "Done";
- ReadyState[ReadyState.Cancelled] = "Cancelled";
- /** @enum {number} */
- var ResponseType = {
- Basic: 0,
- Cors: 1,
- Default: 2,
- Error: 3,
- Opaque: 4,
- };
- ResponseType[ResponseType.Basic] = "Basic";
- ResponseType[ResponseType.Cors] = "Cors";
- ResponseType[ResponseType.Default] = "Default";
- ResponseType[ResponseType.Error] = "Error";
- ResponseType[ResponseType.Opaque] = "Opaque";
- /** @enum {number} */
- var ContentType = {
- NONE: 0,
- JSON: 1,
- FORM: 2,
- FORM_DATA: 3,
- TEXT: 4,
- BLOB: 5,
- ARRAY_BUFFER: 6,
- };
- ContentType[ContentType.NONE] = "NONE";
- ContentType[ContentType.JSON] = "JSON";
- ContentType[ContentType.FORM] = "FORM";
- ContentType[ContentType.FORM_DATA] = "FORM_DATA";
- ContentType[ContentType.TEXT] = "TEXT";
- ContentType[ContentType.BLOB] = "BLOB";
- ContentType[ContentType.ARRAY_BUFFER] = "ARRAY_BUFFER";
- /** @enum {number} */
- var ResponseContentType = {
- Text: 0,
- Json: 1,
- ArrayBuffer: 2,
- Blob: 3,
- };
- ResponseContentType[ResponseContentType.Text] = "Text";
- ResponseContentType[ResponseContentType.Json] = "Json";
- ResponseContentType[ResponseContentType.ArrayBuffer] = "ArrayBuffer";
- ResponseContentType[ResponseContentType.Blob] = "Blob";
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes} checked by tsc
- */
- /**
- * @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
- */
- /**
- * Polyfill for [Headers](https://developer.mozilla.org/en-US/docs/Web/API/Headers/Headers), as
- * specified in the [Fetch Spec](https://fetch.spec.whatwg.org/#headers-class).
- *
- * The only known difference between this `Headers` implementation and the spec is the
- * lack of an `entries` method.
- *
- * ### Example
- *
- * ```
- * import {Headers} from '\@angular/http';
- *
- * var firstHeaders = new Headers();
- * firstHeaders.append('Content-Type', 'image/jpeg');
- * console.log(firstHeaders.get('Content-Type')) //'image/jpeg'
- *
- * // Create headers from Plain Old JavaScript Object
- * var secondHeaders = new Headers({
- * 'X-My-Custom-Header': 'Angular'
- * });
- * console.log(secondHeaders.get('X-My-Custom-Header')); //'Angular'
- *
- * var thirdHeaders = new Headers(secondHeaders);
- * console.log(thirdHeaders.get('X-My-Custom-Header')); //'Angular'
- * ```
- *
- * @deprecated use \@angular/common/http instead
- */
- var Headers = /** @class */ (function () {
- // TODO(vicb): any -> string|string[]
- function Headers(headers) {
- var _this = this;
- /**
- * \@internal header names are lower case
- */
- this._headers = new Map();
- /**
- * \@internal map lower case names to actual names
- */
- this._normalizedNames = new Map();
- if (!headers) {
- return;
- }
- if (headers instanceof Headers) {
- headers.forEach(function (values, name) {
- values.forEach(function (value) { return _this.append(name, value); });
- });
- return;
- }
- Object.keys(headers).forEach(function (name) {
- var /** @type {?} */ values = Array.isArray(headers[name]) ? headers[name] : [headers[name]];
- _this.delete(name);
- values.forEach(function (value) { return _this.append(name, value); });
- });
- }
- /**
- * Returns a new Headers instance from the given DOMString of Response Headers
- */
- /**
- * Returns a new Headers instance from the given DOMString of Response Headers
- * @param {?} headersString
- * @return {?}
- */
- Headers.fromResponseHeaderString = /**
- * Returns a new Headers instance from the given DOMString of Response Headers
- * @param {?} headersString
- * @return {?}
- */
- function (headersString) {
- var /** @type {?} */ headers = new Headers();
- headersString.split('\n').forEach(function (line) {
- var /** @type {?} */ index = line.indexOf(':');
- if (index > 0) {
- var /** @type {?} */ name_1 = line.slice(0, index);
- var /** @type {?} */ value = line.slice(index + 1).trim();
- headers.set(name_1, value);
- }
- });
- return headers;
- };
- /**
- * Appends a header to existing list of header values for a given header name.
- */
- /**
- * Appends a header to existing list of header values for a given header name.
- * @param {?} name
- * @param {?} value
- * @return {?}
- */
- Headers.prototype.append = /**
- * Appends a header to existing list of header values for a given header name.
- * @param {?} name
- * @param {?} value
- * @return {?}
- */
- function (name, value) {
- var /** @type {?} */ values = this.getAll(name);
- if (values === null) {
- this.set(name, value);
- }
- else {
- values.push(value);
- }
- };
- /**
- * Deletes all header values for the given name.
- */
- /**
- * Deletes all header values for the given name.
- * @param {?} name
- * @return {?}
- */
- Headers.prototype.delete = /**
- * Deletes all header values for the given name.
- * @param {?} name
- * @return {?}
- */
- function (name) {
- var /** @type {?} */ lcName = name.toLowerCase();
- this._normalizedNames.delete(lcName);
- this._headers.delete(lcName);
- };
- /**
- * @param {?} fn
- * @return {?}
- */
- Headers.prototype.forEach = /**
- * @param {?} fn
- * @return {?}
- */
- function (fn) {
- var _this = this;
- this._headers.forEach(function (values, lcName) { return fn(values, _this._normalizedNames.get(lcName), _this._headers); });
- };
- /**
- * Returns first header that matches given name.
- */
- /**
- * Returns first header that matches given name.
- * @param {?} name
- * @return {?}
- */
- Headers.prototype.get = /**
- * Returns first header that matches given name.
- * @param {?} name
- * @return {?}
- */
- function (name) {
- var /** @type {?} */ values = this.getAll(name);
- if (values === null) {
- return null;
- }
- return values.length > 0 ? values[0] : null;
- };
- /**
- * Checks for existence of header by given name.
- */
- /**
- * Checks for existence of header by given name.
- * @param {?} name
- * @return {?}
- */
- Headers.prototype.has = /**
- * Checks for existence of header by given name.
- * @param {?} name
- * @return {?}
- */
- function (name) { return this._headers.has(name.toLowerCase()); };
- /**
- * Returns the names of the headers
- */
- /**
- * Returns the names of the headers
- * @return {?}
- */
- Headers.prototype.keys = /**
- * Returns the names of the headers
- * @return {?}
- */
- function () { return Array.from(this._normalizedNames.values()); };
- /**
- * Sets or overrides header value for given name.
- */
- /**
- * Sets or overrides header value for given name.
- * @param {?} name
- * @param {?} value
- * @return {?}
- */
- Headers.prototype.set = /**
- * Sets or overrides header value for given name.
- * @param {?} name
- * @param {?} value
- * @return {?}
- */
- function (name, value) {
- if (Array.isArray(value)) {
- if (value.length) {
- this._headers.set(name.toLowerCase(), [value.join(',')]);
- }
- }
- else {
- this._headers.set(name.toLowerCase(), [value]);
- }
- this.mayBeSetNormalizedName(name);
- };
- /**
- * Returns values of all headers.
- */
- /**
- * Returns values of all headers.
- * @return {?}
- */
- Headers.prototype.values = /**
- * Returns values of all headers.
- * @return {?}
- */
- function () { return Array.from(this._headers.values()); };
- /**
- * Returns string of all headers.
- */
- // TODO(vicb): returns {[name: string]: string[]}
- /**
- * Returns string of all headers.
- * @return {?}
- */
- Headers.prototype.toJSON = /**
- * Returns string of all headers.
- * @return {?}
- */
- function () {
- var _this = this;
- var /** @type {?} */ serialized = {};
- this._headers.forEach(function (values, name) {
- var /** @type {?} */ split = [];
- values.forEach(function (v) { return split.push.apply(split, v.split(',')); });
- serialized[/** @type {?} */ ((_this._normalizedNames.get(name)))] = split;
- });
- return serialized;
- };
- /**
- * Returns list of header values for a given name.
- */
- /**
- * Returns list of header values for a given name.
- * @param {?} name
- * @return {?}
- */
- Headers.prototype.getAll = /**
- * Returns list of header values for a given name.
- * @param {?} name
- * @return {?}
- */
- function (name) {
- return this.has(name) ? this._headers.get(name.toLowerCase()) || null : null;
- };
- /**
- * This method is not implemented.
- */
- /**
- * This method is not implemented.
- * @return {?}
- */
- Headers.prototype.entries = /**
- * This method is not implemented.
- * @return {?}
- */
- function () { throw new Error('"entries" method is not implemented on Headers class'); };
- /**
- * @param {?} name
- * @return {?}
- */
- Headers.prototype.mayBeSetNormalizedName = /**
- * @param {?} name
- * @return {?}
- */
- function (name) {
- var /** @type {?} */ lcName = name.toLowerCase();
- if (!this._normalizedNames.has(lcName)) {
- this._normalizedNames.set(lcName, name);
- }
- };
- return Headers;
- }());
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes} checked by tsc
- */
- /**
- * @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
- */
- /**
- * 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}).
- *
- * ### Example ([live demo](http://plnkr.co/edit/P9Jkk8e8cz6NVzbcxEsD?p=preview))
- *
- * ```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 use \@angular/common/http instead
- */
- var ResponseOptions = /** @class */ (function () {
- function ResponseOptions(opts) {
- if (opts === void 0) { opts = {}; }
- var body = opts.body, status = opts.status, headers = opts.headers, statusText = opts.statusText, type = opts.type, url = opts.url;
- this.body = body != null ? body : null;
- this.status = status != null ? status : null;
- this.headers = headers != null ? headers : null;
- this.statusText = statusText != null ? statusText : null;
- this.type = type != null ? type : null;
- this.url = url != null ? url : null;
- }
- /**
- * 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.
- *
- * ### Example ([live demo](http://plnkr.co/edit/1lXquqFfgduTFBWjNoRE?p=preview))
- *
- * ```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
- * ```
- */
- /**
- * 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.
- *
- * ### Example ([live demo](http://plnkr.co/edit/1lXquqFfgduTFBWjNoRE?p=preview))
- *
- * ```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
- * ```
- * @param {?=} options
- * @return {?}
- */
- ResponseOptions.prototype.merge = /**
- * 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.
- *
- * ### Example ([live demo](http://plnkr.co/edit/1lXquqFfgduTFBWjNoRE?p=preview))
- *
- * ```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
- * ```
- * @param {?=} options
- * @return {?}
- */
- function (options) {
- return new ResponseOptions({
- body: options && options.body != null ? options.body : this.body,
- status: options && options.status != null ? options.status : this.status,
- headers: options && options.headers != null ? options.headers : this.headers,
- statusText: options && options.statusText != null ? options.statusText : this.statusText,
- type: options && options.type != null ? options.type : this.type,
- url: options && options.url != null ? options.url : this.url,
- });
- };
- return 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}.
- *
- * ### Example ([live demo](http://plnkr.co/edit/qv8DLT?p=preview))
- *
- * ```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 ([live demo](http://plnkr.co/edit/VngosOWiaExEtbstDoix?p=preview))
- *
- * ```
- * 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 use \@angular/common/http instead
- */
- var BaseResponseOptions = /** @class */ (function (_super) {
- __extends(BaseResponseOptions, _super);
- function BaseResponseOptions() {
- return _super.call(this, { status: 200, statusText: 'Ok', type: ResponseType.Default, headers: new Headers() }) || this;
- }
- BaseResponseOptions.decorators = [
- { type: Injectable },
- ];
- /** @nocollapse */
- BaseResponseOptions.ctorParameters = function () { return []; };
- return BaseResponseOptions;
- }(ResponseOptions));
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes} checked by tsc
- */
- /**
- * @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
- */
- /**
- * Abstract class from which real backends are derived.
- *
- * The primary purpose of a `ConnectionBackend` is to create new connections to fulfill a given
- * {\@link Request}.
- *
- * @deprecated use \@angular/common/http instead
- * @abstract
- */
- var ConnectionBackend = /** @class */ (function () {
- function ConnectionBackend() {
- }
- return ConnectionBackend;
- }());
- /**
- * Abstract class from which real connections are derived.
- *
- * @deprecated use \@angular/common/http instead
- * @abstract
- */
- var Connection = /** @class */ (function () {
- function Connection() {
- }
- return Connection;
- }());
- /**
- * An XSRFStrategy configures XSRF protection (e.g. via headers) on an HTTP request.
- *
- * @deprecated use \@angular/common/http instead
- * @abstract
- */
- var XSRFStrategy = /** @class */ (function () {
- function XSRFStrategy() {
- }
- return XSRFStrategy;
- }());
- /**
- * Interface for options to construct a RequestOptions, based on
- * [RequestInit](https://fetch.spec.whatwg.org/#requestinit) from the Fetch spec.
- *
- * @deprecated use \@angular/common/http instead
- * @record
- */
-
- /**
- * Required structure when constructing new Request();
- * @record
- */
-
- /**
- * Interface for options to construct a Response, based on
- * [ResponseInit](https://fetch.spec.whatwg.org/#responseinit) from the Fetch spec.
- *
- * @deprecated use \@angular/common/http instead
- * @record
- */
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes} checked by tsc
- */
- /**
- * @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
- */
- /**
- * @param {?} method
- * @return {?}
- */
- function normalizeMethodName(method) {
- if (typeof method !== 'string')
- return method;
- switch (method.toUpperCase()) {
- case 'GET':
- return RequestMethod.Get;
- case 'POST':
- return RequestMethod.Post;
- case 'PUT':
- return RequestMethod.Put;
- case 'DELETE':
- return RequestMethod.Delete;
- case 'OPTIONS':
- return RequestMethod.Options;
- case 'HEAD':
- return RequestMethod.Head;
- case 'PATCH':
- return RequestMethod.Patch;
- }
- throw new Error("Invalid request method. The method \"" + method + "\" is not supported.");
- }
- var isSuccess = function (status) { return (status >= 200 && status < 300); };
- /**
- * @param {?} xhr
- * @return {?}
- */
- function getResponseURL(xhr) {
- if ('responseURL' in xhr) {
- return xhr.responseURL;
- }
- if (/^X-Request-URL:/m.test(xhr.getAllResponseHeaders())) {
- return xhr.getResponseHeader('X-Request-URL');
- }
- return null;
- }
- /**
- * @param {?} input
- * @return {?}
- */
-
- /**
- * @param {?} input
- * @return {?}
- */
- function stringToArrayBuffer(input) {
- var /** @type {?} */ view = new Uint16Array(input.length);
- for (var /** @type {?} */ i = 0, /** @type {?} */ strLen = input.length; i < strLen; i++) {
- view[i] = input.charCodeAt(i);
- }
- return view.buffer;
- }
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes} checked by tsc
- */
- /**
- * @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
- */
- /**
- * @param {?=} rawParams
- * @return {?}
- */
- function paramParser(rawParams) {
- if (rawParams === void 0) { rawParams = ''; }
- var /** @type {?} */ map = new Map();
- if (rawParams.length > 0) {
- var /** @type {?} */ params = rawParams.split('&');
- params.forEach(function (param) {
- var /** @type {?} */ eqIdx = param.indexOf('=');
- var _a = eqIdx == -1 ? [param, ''] : [param.slice(0, eqIdx), param.slice(eqIdx + 1)], key = _a[0], val = _a[1];
- var /** @type {?} */ list = map.get(key) || [];
- list.push(val);
- map.set(key, list);
- });
- }
- return map;
- }
- /**
- * @deprecated use \@angular/common/http instead
- *
- */
- var QueryEncoder = /** @class */ (function () {
- function QueryEncoder() {
- }
- /**
- * @param {?} k
- * @return {?}
- */
- QueryEncoder.prototype.encodeKey = /**
- * @param {?} k
- * @return {?}
- */
- function (k) { return standardEncoding(k); };
- /**
- * @param {?} v
- * @return {?}
- */
- QueryEncoder.prototype.encodeValue = /**
- * @param {?} v
- * @return {?}
- */
- function (v) { return standardEncoding(v); };
- return QueryEncoder;
- }());
- /**
- * @param {?} v
- * @return {?}
- */
- function standardEncoding(v) {
- return encodeURIComponent(v)
- .replace(/%40/gi, '@')
- .replace(/%3A/gi, ':')
- .replace(/%24/gi, '$')
- .replace(/%2C/gi, ',')
- .replace(/%3B/gi, ';')
- .replace(/%2B/gi, '+')
- .replace(/%3D/gi, '=')
- .replace(/%3F/gi, '?')
- .replace(/%2F/gi, '/');
- }
- /**
- * Map-like representation of url search parameters, based on
- * [URLSearchParams](https://url.spec.whatwg.org/#urlsearchparams) in the url living standard,
- * with several extensions for merging URLSearchParams objects:
- * - setAll()
- * - appendAll()
- * - replaceAll()
- *
- * This class accepts an optional second parameter of ${\@link QueryEncoder},
- * which is used to serialize parameters before making a request. By default,
- * `QueryEncoder` encodes keys and values of parameters using `encodeURIComponent`,
- * and then un-encodes certain characters that are allowed to be part of the query
- * according to IETF RFC 3986: https://tools.ietf.org/html/rfc3986.
- *
- * These are the characters that are not encoded: `! $ \' ( ) * + , ; A 9 - . _ ~ ? /`
- *
- * If the set of allowed query characters is not acceptable for a particular backend,
- * `QueryEncoder` can be subclassed and provided as the 2nd argument to URLSearchParams.
- *
- * ```
- * import {URLSearchParams, QueryEncoder} from '\@angular/http';
- * class MyQueryEncoder extends QueryEncoder {
- * encodeKey(k: string): string {
- * return myEncodingFunction(k);
- * }
- *
- * encodeValue(v: string): string {
- * return myEncodingFunction(v);
- * }
- * }
- *
- * let params = new URLSearchParams('', new MyQueryEncoder());
- * ```
- * @deprecated use \@angular/common/http instead
- */
- var URLSearchParams = /** @class */ (function () {
- function URLSearchParams(rawParams, queryEncoder) {
- if (rawParams === void 0) { rawParams = ''; }
- if (queryEncoder === void 0) { queryEncoder = new QueryEncoder(); }
- this.rawParams = rawParams;
- this.queryEncoder = queryEncoder;
- this.paramsMap = paramParser(rawParams);
- }
- /**
- * @return {?}
- */
- URLSearchParams.prototype.clone = /**
- * @return {?}
- */
- function () {
- var /** @type {?} */ clone = new URLSearchParams('', this.queryEncoder);
- clone.appendAll(this);
- return clone;
- };
- /**
- * @param {?} param
- * @return {?}
- */
- URLSearchParams.prototype.has = /**
- * @param {?} param
- * @return {?}
- */
- function (param) { return this.paramsMap.has(param); };
- /**
- * @param {?} param
- * @return {?}
- */
- URLSearchParams.prototype.get = /**
- * @param {?} param
- * @return {?}
- */
- function (param) {
- var /** @type {?} */ storedParam = this.paramsMap.get(param);
- return Array.isArray(storedParam) ? storedParam[0] : null;
- };
- /**
- * @param {?} param
- * @return {?}
- */
- URLSearchParams.prototype.getAll = /**
- * @param {?} param
- * @return {?}
- */
- function (param) { return this.paramsMap.get(param) || []; };
- /**
- * @param {?} param
- * @param {?} val
- * @return {?}
- */
- URLSearchParams.prototype.set = /**
- * @param {?} param
- * @param {?} val
- * @return {?}
- */
- function (param, val) {
- if (val === void 0 || val === null) {
- this.delete(param);
- return;
- }
- var /** @type {?} */ list = this.paramsMap.get(param) || [];
- list.length = 0;
- list.push(val);
- this.paramsMap.set(param, list);
- };
- // A merge operation
- // For each name-values pair in `searchParams`, perform `set(name, values[0])`
- //
- // E.g: "a=[1,2,3], c=[8]" + "a=[4,5,6], b=[7]" = "a=[4], c=[8], b=[7]"
- //
- // TODO(@caitp): document this better
- /**
- * @param {?} searchParams
- * @return {?}
- */
- URLSearchParams.prototype.setAll = /**
- * @param {?} searchParams
- * @return {?}
- */
- function (searchParams) {
- var _this = this;
- searchParams.paramsMap.forEach(function (value, param) {
- var /** @type {?} */ list = _this.paramsMap.get(param) || [];
- list.length = 0;
- list.push(value[0]);
- _this.paramsMap.set(param, list);
- });
- };
- /**
- * @param {?} param
- * @param {?} val
- * @return {?}
- */
- URLSearchParams.prototype.append = /**
- * @param {?} param
- * @param {?} val
- * @return {?}
- */
- function (param, val) {
- if (val === void 0 || val === null)
- return;
- var /** @type {?} */ list = this.paramsMap.get(param) || [];
- list.push(val);
- this.paramsMap.set(param, list);
- };
- // A merge operation
- // For each name-values pair in `searchParams`, perform `append(name, value)`
- // for each value in `values`.
- //
- // E.g: "a=[1,2], c=[8]" + "a=[3,4], b=[7]" = "a=[1,2,3,4], c=[8], b=[7]"
- //
- // TODO(@caitp): document this better
- /**
- * @param {?} searchParams
- * @return {?}
- */
- URLSearchParams.prototype.appendAll = /**
- * @param {?} searchParams
- * @return {?}
- */
- function (searchParams) {
- var _this = this;
- searchParams.paramsMap.forEach(function (value, param) {
- var /** @type {?} */ list = _this.paramsMap.get(param) || [];
- for (var /** @type {?} */ i = 0; i < value.length; ++i) {
- list.push(value[i]);
- }
- _this.paramsMap.set(param, list);
- });
- };
- // A merge operation
- // For each name-values pair in `searchParams`, perform `delete(name)`,
- // followed by `set(name, values)`
- //
- // E.g: "a=[1,2,3], c=[8]" + "a=[4,5,6], b=[7]" = "a=[4,5,6], c=[8], b=[7]"
- //
- // TODO(@caitp): document this better
- /**
- * @param {?} searchParams
- * @return {?}
- */
- URLSearchParams.prototype.replaceAll = /**
- * @param {?} searchParams
- * @return {?}
- */
- function (searchParams) {
- var _this = this;
- searchParams.paramsMap.forEach(function (value, param) {
- var /** @type {?} */ list = _this.paramsMap.get(param) || [];
- list.length = 0;
- for (var /** @type {?} */ i = 0; i < value.length; ++i) {
- list.push(value[i]);
- }
- _this.paramsMap.set(param, list);
- });
- };
- /**
- * @return {?}
- */
- URLSearchParams.prototype.toString = /**
- * @return {?}
- */
- function () {
- var _this = this;
- var /** @type {?} */ paramsList = [];
- this.paramsMap.forEach(function (values, k) {
- values.forEach(function (v) {
- return paramsList.push(_this.queryEncoder.encodeKey(k) + '=' + _this.queryEncoder.encodeValue(v));
- });
- });
- return paramsList.join('&');
- };
- /**
- * @param {?} param
- * @return {?}
- */
- URLSearchParams.prototype.delete = /**
- * @param {?} param
- * @return {?}
- */
- function (param) { this.paramsMap.delete(param); };
- return URLSearchParams;
- }());
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes} checked by tsc
- */
- /**
- * @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
- */
- /**
- * HTTP request body used by both {\@link Request} and {\@link Response}
- * https://fetch.spec.whatwg.org/#body
- * @abstract
- */
- var Body = /** @class */ (function () {
- function Body() {
- }
- /**
- * Attempts to return body as parsed `JSON` object, or raises an exception.
- */
- /**
- * Attempts to return body as parsed `JSON` object, or raises an exception.
- * @return {?}
- */
- Body.prototype.json = /**
- * Attempts to return body as parsed `JSON` object, or raises an exception.
- * @return {?}
- */
- function () {
- if (typeof this._body === 'string') {
- return JSON.parse(/** @type {?} */ (this._body));
- }
- if (this._body instanceof ArrayBuffer) {
- return JSON.parse(this.text());
- }
- return this._body;
- };
- /**
- * Returns the body as a string, presuming `toString()` can be called on the response body.
- *
- * When decoding an `ArrayBuffer`, the optional `encodingHint` parameter determines how the
- * bytes in the buffer will be interpreted. Valid values are:
- *
- * - `legacy` - incorrectly interpret the bytes as UTF-16 (technically, UCS-2). Only characters
- * in the Basic Multilingual Plane are supported, surrogate pairs are not handled correctly.
- * In addition, the endianness of the 16-bit octet pairs in the `ArrayBuffer` is not taken
- * into consideration. This is the default behavior to avoid breaking apps, but should be
- * considered deprecated.
- *
- * - `iso-8859` - interpret the bytes as ISO-8859 (which can be used for ASCII encoded text).
- */
- /**
- * Returns the body as a string, presuming `toString()` can be called on the response body.
- *
- * When decoding an `ArrayBuffer`, the optional `encodingHint` parameter determines how the
- * bytes in the buffer will be interpreted. Valid values are:
- *
- * - `legacy` - incorrectly interpret the bytes as UTF-16 (technically, UCS-2). Only characters
- * in the Basic Multilingual Plane are supported, surrogate pairs are not handled correctly.
- * In addition, the endianness of the 16-bit octet pairs in the `ArrayBuffer` is not taken
- * into consideration. This is the default behavior to avoid breaking apps, but should be
- * considered deprecated.
- *
- * - `iso-8859` - interpret the bytes as ISO-8859 (which can be used for ASCII encoded text).
- * @param {?=} encodingHint
- * @return {?}
- */
- Body.prototype.text = /**
- * Returns the body as a string, presuming `toString()` can be called on the response body.
- *
- * When decoding an `ArrayBuffer`, the optional `encodingHint` parameter determines how the
- * bytes in the buffer will be interpreted. Valid values are:
- *
- * - `legacy` - incorrectly interpret the bytes as UTF-16 (technically, UCS-2). Only characters
- * in the Basic Multilingual Plane are supported, surrogate pairs are not handled correctly.
- * In addition, the endianness of the 16-bit octet pairs in the `ArrayBuffer` is not taken
- * into consideration. This is the default behavior to avoid breaking apps, but should be
- * considered deprecated.
- *
- * - `iso-8859` - interpret the bytes as ISO-8859 (which can be used for ASCII encoded text).
- * @param {?=} encodingHint
- * @return {?}
- */
- function (encodingHint) {
- if (encodingHint === void 0) { encodingHint = 'legacy'; }
- if (this._body instanceof URLSearchParams) {
- return this._body.toString();
- }
- if (this._body instanceof ArrayBuffer) {
- switch (encodingHint) {
- case 'legacy':
- return String.fromCharCode.apply(null, new Uint16Array(/** @type {?} */ (this._body)));
- case 'iso-8859':
- return String.fromCharCode.apply(null, new Uint8Array(/** @type {?} */ (this._body)));
- default:
- throw new Error("Invalid value for encodingHint: " + encodingHint);
- }
- }
- if (this._body == null) {
- return '';
- }
- if (typeof this._body === 'object') {
- return JSON.stringify(this._body, null, 2);
- }
- return this._body.toString();
- };
- /**
- * Return the body as an ArrayBuffer
- */
- /**
- * Return the body as an ArrayBuffer
- * @return {?}
- */
- Body.prototype.arrayBuffer = /**
- * Return the body as an ArrayBuffer
- * @return {?}
- */
- function () {
- if (this._body instanceof ArrayBuffer) {
- return /** @type {?} */ (this._body);
- }
- return stringToArrayBuffer(this.text());
- };
- /**
- * Returns the request's body as a Blob, assuming that body exists.
- */
- /**
- * Returns the request's body as a Blob, assuming that body exists.
- * @return {?}
- */
- Body.prototype.blob = /**
- * Returns the request's body as a Blob, assuming that body exists.
- * @return {?}
- */
- function () {
- if (this._body instanceof Blob) {
- return /** @type {?} */ (this._body);
- }
- if (this._body instanceof ArrayBuffer) {
- return new Blob([this._body]);
- }
- throw new Error('The request body isn\'t either a blob or an array buffer');
- };
- return Body;
- }());
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes} checked by tsc
- */
- /**
- * @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
- */
- /**
- * Creates `Response` instances from provided values.
- *
- * Though this object isn't
- * usually instantiated by end-users, it is the primary object interacted with when it comes time to
- * add data to a view.
- *
- * ### Example
- *
- * ```
- * http.request('my-friends.txt').subscribe(response => this.friends = response.text());
- * ```
- *
- * The Response's interface is inspired by the Response constructor defined in the [Fetch
- * Spec](https://fetch.spec.whatwg.org/#response-class), but is considered a static value whose body
- * can be accessed many times. There are other differences in the implementation, but this is the
- * most significant.
- *
- * @deprecated use \@angular/common/http instead
- */
- var Response = /** @class */ (function (_super) {
- __extends(Response, _super);
- function Response(responseOptions) {
- var _this = _super.call(this) || this;
- _this._body = responseOptions.body;
- _this.status = /** @type {?} */ ((responseOptions.status));
- _this.ok = (_this.status >= 200 && _this.status <= 299);
- _this.statusText = responseOptions.statusText;
- _this.headers = responseOptions.headers;
- _this.type = /** @type {?} */ ((responseOptions.type));
- _this.url = /** @type {?} */ ((responseOptions.url));
- return _this;
- }
- /**
- * @return {?}
- */
- Response.prototype.toString = /**
- * @return {?}
- */
- function () {
- return "Response with status: " + this.status + " " + this.statusText + " for URL: " + this.url;
- };
- return Response;
- }(Body));
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes} checked by tsc
- */
- /**
- * @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
- */
- var _nextRequestId = 0;
- var JSONP_HOME = '__ng_jsonp__';
- var _jsonpConnections = null;
- /**
- * @return {?}
- */
- function _getJsonpConnections() {
- var /** @type {?} */ w = typeof window == 'object' ? window : {};
- if (_jsonpConnections === null) {
- _jsonpConnections = w[JSONP_HOME] = {};
- }
- return _jsonpConnections;
- }
- var BrowserJsonp = /** @class */ (function () {
- function BrowserJsonp() {
- }
- // Construct a <script> element with the specified URL
- /**
- * @param {?} url
- * @return {?}
- */
- BrowserJsonp.prototype.build = /**
- * @param {?} url
- * @return {?}
- */
- function (url) {
- var /** @type {?} */ node = document.createElement('script');
- node.src = url;
- return node;
- };
- /**
- * @return {?}
- */
- BrowserJsonp.prototype.nextRequestID = /**
- * @return {?}
- */
- function () { return "__req" + _nextRequestId++; };
- /**
- * @param {?} id
- * @return {?}
- */
- BrowserJsonp.prototype.requestCallback = /**
- * @param {?} id
- * @return {?}
- */
- function (id) { return JSONP_HOME + "." + id + ".finished"; };
- /**
- * @param {?} id
- * @param {?} connection
- * @return {?}
- */
- BrowserJsonp.prototype.exposeConnection = /**
- * @param {?} id
- * @param {?} connection
- * @return {?}
- */
- function (id, connection) {
- var /** @type {?} */ connections = _getJsonpConnections();
- connections[id] = connection;
- };
- /**
- * @param {?} id
- * @return {?}
- */
- BrowserJsonp.prototype.removeConnection = /**
- * @param {?} id
- * @return {?}
- */
- function (id) {
- var /** @type {?} */ connections = _getJsonpConnections();
- connections[id] = null;
- };
- // Attach the <script> element to the DOM
- /**
- * @param {?} node
- * @return {?}
- */
- BrowserJsonp.prototype.send = /**
- * @param {?} node
- * @return {?}
- */
- function (node) { document.body.appendChild(/** @type {?} */ ((node))); };
- // Remove <script> element from the DOM
- /**
- * @param {?} node
- * @return {?}
- */
- BrowserJsonp.prototype.cleanup = /**
- * @param {?} node
- * @return {?}
- */
- function (node) {
- if (node.parentNode) {
- node.parentNode.removeChild(/** @type {?} */ ((node)));
- }
- };
- BrowserJsonp.decorators = [
- { type: Injectable },
- ];
- /** @nocollapse */
- BrowserJsonp.ctorParameters = function () { return []; };
- return BrowserJsonp;
- }());
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes} checked by tsc
- */
- /**
- * @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
- */
- var JSONP_ERR_NO_CALLBACK = 'JSONP injected script did not invoke callback.';
- var JSONP_ERR_WRONG_METHOD = 'JSONP requests must use GET request method.';
- /**
- * Base class for an in-flight JSONP request.
- *
- * @deprecated use \@angular/common/http instead
- */
- var JSONPConnection = /** @class */ (function () {
- /** @internal */
- function JSONPConnection(req, _dom, baseResponseOptions) {
- var _this = this;
- this._dom = _dom;
- this.baseResponseOptions = baseResponseOptions;
- this._finished = false;
- if (req.method !== RequestMethod.Get) {
- throw new TypeError(JSONP_ERR_WRONG_METHOD);
- }
- this.request = req;
- this.response = new Observable(function (responseObserver) {
- _this.readyState = ReadyState.Loading;
- var /** @type {?} */ id = _this._id = _dom.nextRequestID();
- _dom.exposeConnection(id, _this);
- // Workaround Dart
- // url = url.replace(/=JSONP_CALLBACK(&|$)/, `generated method`);
- var /** @type {?} */ callback = _dom.requestCallback(_this._id);
- var /** @type {?} */ url = req.url;
- if (url.indexOf('=JSONP_CALLBACK&') > -1) {
- url = url.replace('=JSONP_CALLBACK&', "=" + callback + "&");
- }
- else if (url.lastIndexOf('=JSONP_CALLBACK') === url.length - '=JSONP_CALLBACK'.length) {
- url = url.substring(0, url.length - '=JSONP_CALLBACK'.length) + ("=" + callback);
- }
- var /** @type {?} */ script = _this._script = _dom.build(url);
- var /** @type {?} */ onLoad = function (event) {
- if (_this.readyState === ReadyState.Cancelled)
- return;
- _this.readyState = ReadyState.Done;
- _dom.cleanup(script);
- if (!_this._finished) {
- var /** @type {?} */ responseOptions_1 = new ResponseOptions({ body: JSONP_ERR_NO_CALLBACK, type: ResponseType.Error, url: url });
- if (baseResponseOptions) {
- responseOptions_1 = baseResponseOptions.merge(responseOptions_1);
- }
- responseObserver.error(new Response(responseOptions_1));
- return;
- }
- var /** @type {?} */ responseOptions = new ResponseOptions({ body: _this._responseData, url: url });
- if (_this.baseResponseOptions) {
- responseOptions = _this.baseResponseOptions.merge(responseOptions);
- }
- responseObserver.next(new Response(responseOptions));
- responseObserver.complete();
- };
- var /** @type {?} */ onError = function (error) {
- if (_this.readyState === ReadyState.Cancelled)
- return;
- _this.readyState = ReadyState.Done;
- _dom.cleanup(script);
- var /** @type {?} */ responseOptions = new ResponseOptions({ body: error.message, type: ResponseType.Error });
- if (baseResponseOptions) {
- responseOptions = baseResponseOptions.merge(responseOptions);
- }
- responseObserver.error(new Response(responseOptions));
- };
- script.addEventListener('load', onLoad);
- script.addEventListener('error', onError);
- _dom.send(script);
- return function () {
- _this.readyState = ReadyState.Cancelled;
- script.removeEventListener('load', onLoad);
- script.removeEventListener('error', onError);
- _this._dom.cleanup(script);
- };
- });
- }
- /**
- * Callback called when the JSONP request completes, to notify the application
- * of the new data.
- */
- /**
- * Callback called when the JSONP request completes, to notify the application
- * of the new data.
- * @param {?=} data
- * @return {?}
- */
- JSONPConnection.prototype.finished = /**
- * Callback called when the JSONP request completes, to notify the application
- * of the new data.
- * @param {?=} data
- * @return {?}
- */
- function (data) {
- // Don't leak connections
- this._finished = true;
- this._dom.removeConnection(this._id);
- if (this.readyState === ReadyState.Cancelled)
- return;
- this._responseData = data;
- };
- return JSONPConnection;
- }());
- /**
- * A {\@link ConnectionBackend} that uses the JSONP strategy of making requests.
- *
- * @deprecated use \@angular/common/http instead
- */
- var JSONPBackend = /** @class */ (function (_super) {
- __extends(JSONPBackend, _super);
- /** @internal */
- function JSONPBackend(_browserJSONP, _baseResponseOptions) {
- var _this = _super.call(this) || this;
- _this._browserJSONP = _browserJSONP;
- _this._baseResponseOptions = _baseResponseOptions;
- return _this;
- }
- /**
- * @param {?} request
- * @return {?}
- */
- JSONPBackend.prototype.createConnection = /**
- * @param {?} request
- * @return {?}
- */
- function (request) {
- return new JSONPConnection(request, this._browserJSONP, this._baseResponseOptions);
- };
- JSONPBackend.decorators = [
- { type: Injectable },
- ];
- /** @nocollapse */
- JSONPBackend.ctorParameters = function () { return [
- { type: BrowserJsonp, },
- { type: ResponseOptions, },
- ]; };
- return JSONPBackend;
- }(ConnectionBackend));
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes} checked by tsc
- */
- /**
- * @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
- */
- var XSSI_PREFIX = /^\)\]\}',?\n/;
- /**
- * Creates connections using `XMLHttpRequest`. Given a fully-qualified
- * request, an `XHRConnection` will immediately create an `XMLHttpRequest` object and send the
- * request.
- *
- * This class would typically not be created or interacted with directly inside applications, though
- * the {\@link MockConnection} may be interacted with in tests.
- *
- * @deprecated use \@angular/common/http instead
- */
- var XHRConnection = /** @class */ (function () {
- function XHRConnection(req, browserXHR, baseResponseOptions) {
- var _this = this;
- this.request = req;
- this.response = new Observable(function (responseObserver) {
- var /** @type {?} */ _xhr = browserXHR.build();
- _xhr.open(RequestMethod[req.method].toUpperCase(), req.url);
- if (req.withCredentials != null) {
- _xhr.withCredentials = req.withCredentials;
- }
- // load event handler
- var /** @type {?} */ onLoad = function () {
- // normalize IE9 bug (http://bugs.jquery.com/ticket/1450)
- var /** @type {?} */ status = _xhr.status === 1223 ? 204 : _xhr.status;
- var /** @type {?} */ body = null;
- // HTTP 204 means no content
- if (status !== 204) {
- // responseText is the old-school way of retrieving response (supported by IE8 & 9)
- // response/responseType properties were introduced in ResourceLoader Level2 spec
- // (supported by IE10)
- body = (typeof _xhr.response === 'undefined') ? _xhr.responseText : _xhr.response;
- // Implicitly strip a potential XSSI prefix.
- if (typeof body === 'string') {
- body = body.replace(XSSI_PREFIX, '');
- }
- }
- // fix status code when it is 0 (0 status is undocumented).
- // Occurs when accessing file resources or on Android 4.1 stock browser
- // while retrieving files from application cache.
- if (status === 0) {
- status = body ? 200 : 0;
- }
- var /** @type {?} */ headers = Headers.fromResponseHeaderString(_xhr.getAllResponseHeaders());
- // IE 9 does not provide the way to get URL of response
- var /** @type {?} */ url = getResponseURL(_xhr) || req.url;
- var /** @type {?} */ statusText = _xhr.statusText || 'OK';
- var /** @type {?} */ responseOptions = new ResponseOptions({ body: body, status: status, headers: headers, statusText: statusText, url: url });
- if (baseResponseOptions != null) {
- responseOptions = baseResponseOptions.merge(responseOptions);
- }
- var /** @type {?} */ response = new Response(responseOptions);
- response.ok = isSuccess(status);
- if (response.ok) {
- responseObserver.next(response);
- // TODO(gdi2290): defer complete if array buffer until done
- responseObserver.complete();
- return;
- }
- responseObserver.error(response);
- };
- // error event handler
- var /** @type {?} */ onError = function (err) {
- var /** @type {?} */ responseOptions = new ResponseOptions({
- body: err,
- type: ResponseType.Error,
- status: _xhr.status,
- statusText: _xhr.statusText,
- });
- if (baseResponseOptions != null) {
- responseOptions = baseResponseOptions.merge(responseOptions);
- }
- responseObserver.error(new Response(responseOptions));
- };
- _this.setDetectedContentType(req, _xhr);
- if (req.headers == null) {
- req.headers = new Headers();
- }
- if (!req.headers.has('Accept')) {
- req.headers.append('Accept', 'application/json, text/plain, */*');
- }
- req.headers.forEach(function (values, name) { return _xhr.setRequestHeader(/** @type {?} */ ((name)), values.join(',')); });
- // Select the correct buffer type to store the response
- if (req.responseType != null && _xhr.responseType != null) {
- switch (req.responseType) {
- case ResponseContentType.ArrayBuffer:
- _xhr.responseType = 'arraybuffer';
- break;
- case ResponseContentType.Json:
- _xhr.responseType = 'json';
- break;
- case ResponseContentType.Text:
- _xhr.responseType = 'text';
- break;
- case ResponseContentType.Blob:
- _xhr.responseType = 'blob';
- break;
- default:
- throw new Error('The selected responseType is not supported');
- }
- }
- _xhr.addEventListener('load', onLoad);
- _xhr.addEventListener('error', onError);
- _xhr.send(_this.request.getBody());
- return function () {
- _xhr.removeEventListener('load', onLoad);
- _xhr.removeEventListener('error', onError);
- _xhr.abort();
- };
- });
- }
- /**
- * @param {?} req
- * @param {?} _xhr
- * @return {?}
- */
- XHRConnection.prototype.setDetectedContentType = /**
- * @param {?} req
- * @param {?} _xhr
- * @return {?}
- */
- function (req /** TODO Request */, _xhr /** XMLHttpRequest */) {
- // Skip if a custom Content-Type header is provided
- if (req.headers != null && req.headers.get('Content-Type') != null) {
- return;
- }
- // Set the detected content type
- switch (req.contentType) {
- case ContentType.NONE:
- break;
- case ContentType.JSON:
- _xhr.setRequestHeader('content-type', 'application/json');
- break;
- case ContentType.FORM:
- _xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
- break;
- case ContentType.TEXT:
- _xhr.setRequestHeader('content-type', 'text/plain');
- break;
- case ContentType.BLOB:
- var /** @type {?} */ blob = req.blob();
- if (blob.type) {
- _xhr.setRequestHeader('content-type', blob.type);
- }
- break;
- }
- };
- return XHRConnection;
- }());
- /**
- * `XSRFConfiguration` sets up Cross Site Request Forgery (XSRF) protection for the application
- * using a cookie. See https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)
- * for more information on XSRF.
- *
- * Applications can configure custom cookie and header names by binding an instance of this class
- * with different `cookieName` and `headerName` values. See the main HTTP documentation for more
- * details.
- *
- * @deprecated use \@angular/common/http instead
- */
- var CookieXSRFStrategy = /** @class */ (function () {
- function CookieXSRFStrategy(_cookieName, _headerName) {
- if (_cookieName === void 0) { _cookieName = 'XSRF-TOKEN'; }
- if (_headerName === void 0) { _headerName = 'X-XSRF-TOKEN'; }
- this._cookieName = _cookieName;
- this._headerName = _headerName;
- }
- /**
- * @param {?} req
- * @return {?}
- */
- CookieXSRFStrategy.prototype.configureRequest = /**
- * @param {?} req
- * @return {?}
- */
- function (req) {
- var /** @type {?} */ xsrfToken = ɵgetDOM().getCookie(this._cookieName);
- if (xsrfToken) {
- req.headers.set(this._headerName, xsrfToken);
- }
- };
- return CookieXSRFStrategy;
- }());
- /**
- * Creates {\@link XHRConnection} instances.
- *
- * This class would typically not be used by end users, but could be
- * overridden if a different backend implementation should be used,
- * such as in a node backend.
- *
- * ### Example
- *
- * ```
- * import {Http, MyNodeBackend, HTTP_PROVIDERS, BaseRequestOptions} from '\@angular/http';
- * \@Component({
- * viewProviders: [
- * HTTP_PROVIDERS,
- * {provide: Http, useFactory: (backend, options) => {
- * return new Http(backend, options);
- * }, deps: [MyNodeBackend, BaseRequestOptions]}]
- * })
- * class MyComponent {
- * constructor(http:Http) {
- * http.request('people.json').subscribe(res => this.people = res.json());
- * }
- * }
- * ```
- * @deprecated use \@angular/common/http instead
- */
- var XHRBackend = /** @class */ (function () {
- function XHRBackend(_browserXHR, _baseResponseOptions, _xsrfStrategy) {
- this._browserXHR = _browserXHR;
- this._baseResponseOptions = _baseResponseOptions;
- this._xsrfStrategy = _xsrfStrategy;
- }
- /**
- * @param {?} request
- * @return {?}
- */
- XHRBackend.prototype.createConnection = /**
- * @param {?} request
- * @return {?}
- */
- function (request) {
- this._xsrfStrategy.configureRequest(request);
- return new XHRConnection(request, this._browserXHR, this._baseResponseOptions);
- };
- XHRBackend.decorators = [
- { type: Injectable },
- ];
- /** @nocollapse */
- XHRBackend.ctorParameters = function () { return [
- { type: BrowserXhr, },
- { type: ResponseOptions, },
- { type: XSRFStrategy, },
- ]; };
- return XHRBackend;
- }());
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes} checked by tsc
- */
- /**
- * @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
- */
- /**
- * 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 use \@angular/common/http instead
- */
- var RequestOptions = /** @class */ (function () {
- // TODO(Dzmitry): remove search when this.search is removed
- function RequestOptions(opts) {
- if (opts === void 0) { opts = {}; }
- var method = opts.method, headers = opts.headers, body = opts.body, url = opts.url, search = opts.search, params = opts.params, withCredentials = opts.withCredentials, responseType = opts.responseType;
- this.method = method != null ? normalizeMethodName(method) : null;
- this.headers = headers != null ? headers : null;
- this.body = body != null ? body : null;
- this.url = url != null ? url : null;
- this.params = this._mergeSearchParams(params || search);
- this.withCredentials = withCredentials != null ? withCredentials : null;
- this.responseType = responseType != null ? responseType : null;
- }
- Object.defineProperty(RequestOptions.prototype, "search", {
- /**
- * @deprecated from 4.0.0. Use params instead.
- */
- get: /**
- * @deprecated from 4.0.0. Use params instead.
- * @return {?}
- */
- function () { return this.params; },
- /**
- * @deprecated from 4.0.0. Use params instead.
- */
- set: /**
- * @deprecated from 4.0.0. Use params instead.
- * @param {?} params
- * @return {?}
- */
- function (params) { this.params = params; },
- enumerable: true,
- configurable: true
- });
- /**
- * 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
- * ```
- */
- /**
- * 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
- * ```
- * @param {?=} options
- * @return {?}
- */
- RequestOptions.prototype.merge = /**
- * 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
- * ```
- * @param {?=} options
- * @return {?}
- */
- function (options) {
- return new RequestOptions({
- method: options && options.method != null ? options.method : this.method,
- headers: options && options.headers != null ? options.headers : new Headers(this.headers),
- body: options && options.body != null ? options.body : this.body,
- url: options && options.url != null ? options.url : this.url,
- params: options && this._mergeSearchParams(options.params || options.search),
- withCredentials: options && options.withCredentials != null ? options.withCredentials :
- this.withCredentials,
- responseType: options && options.responseType != null ? options.responseType :
- this.responseType
- });
- };
- /**
- * @param {?=} params
- * @return {?}
- */
- RequestOptions.prototype._mergeSearchParams = /**
- * @param {?=} params
- * @return {?}
- */
- function (params) {
- if (!params)
- return this.params;
- if (params instanceof URLSearchParams) {
- return params.clone();
- }
- if (typeof params === 'string') {
- return new URLSearchParams(params);
- }
- return this._parseParams(params);
- };
- /**
- * @param {?=} objParams
- * @return {?}
- */
- RequestOptions.prototype._parseParams = /**
- * @param {?=} objParams
- * @return {?}
- */
- function (objParams) {
- var _this = this;
- if (objParams === void 0) { objParams = {}; }
- var /** @type {?} */ params = new URLSearchParams();
- Object.keys(objParams).forEach(function (key) {
- var /** @type {?} */ value = objParams[key];
- if (Array.isArray(value)) {
- value.forEach(function (item) { return _this._appendParam(key, item, params); });
- }
- else {
- _this._appendParam(key, value, params);
- }
- });
- return params;
- };
- /**
- * @param {?} key
- * @param {?} value
- * @param {?} params
- * @return {?}
- */
- RequestOptions.prototype._appendParam = /**
- * @param {?} key
- * @param {?} value
- * @param {?} params
- * @return {?}
- */
- function (key, value, params) {
- if (typeof value !== 'string') {
- value = JSON.stringify(value);
- }
- params.append(key, value);
- };
- return RequestOptions;
- }());
- /**
- * 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 use \@angular/common/http instead
- */
- var BaseRequestOptions = /** @class */ (function (_super) {
- __extends(BaseRequestOptions, _super);
- function BaseRequestOptions() {
- return _super.call(this, { method: RequestMethod.Get, headers: new Headers() }) || this;
- }
- BaseRequestOptions.decorators = [
- { type: Injectable },
- ];
- /** @nocollapse */
- BaseRequestOptions.ctorParameters = function () { return []; };
- return BaseRequestOptions;
- }(RequestOptions));
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes} checked by tsc
- */
- /**
- * @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
- */
- /**
- * Creates `Request` instances from provided values.
- *
- * The Request's interface is inspired by the Request constructor defined in the [Fetch
- * Spec](https://fetch.spec.whatwg.org/#request-class),
- * but is considered a static value whose body can be accessed many times. There are other
- * differences in the implementation, but this is the most significant.
- *
- * `Request` instances are typically created by higher-level classes, like {\@link Http} and
- * {\@link Jsonp}, but it may occasionally be useful to explicitly create `Request` instances.
- * One such example is when creating services that wrap higher-level services, like {\@link Http},
- * where it may be useful to generate a `Request` with arbitrary headers and search params.
- *
- * ```typescript
- * import {Injectable, Injector} from '\@angular/core';
- * import {HTTP_PROVIDERS, Http, Request, RequestMethod} from '\@angular/http';
- *
- * \@Injectable()
- * class AutoAuthenticator {
- * constructor(public http:Http) {}
- * request(url:string) {
- * return this.http.request(new Request({
- * method: RequestMethod.Get,
- * url: url,
- * search: 'password=123'
- * }));
- * }
- * }
- *
- * var injector = Injector.resolveAndCreate([HTTP_PROVIDERS, AutoAuthenticator]);
- * var authenticator = injector.get(AutoAuthenticator);
- * authenticator.request('people.json').subscribe(res => {
- * //URL should have included '?password=123'
- * console.log('people', res.json());
- * });
- * ```
- *
- * @deprecated use \@angular/common/http instead
- */
- var Request = /** @class */ (function (_super) {
- __extends(Request, _super);
- function Request(requestOptions) {
- var _this = _super.call(this) || this;
- // TODO: assert that url is present
- var /** @type {?} */ url = requestOptions.url;
- _this.url = /** @type {?} */ ((requestOptions.url));
- var /** @type {?} */ paramsArg = requestOptions.params || requestOptions.search;
- if (paramsArg) {
- var /** @type {?} */ params = void 0;
- if (typeof paramsArg === 'object' && !(paramsArg instanceof URLSearchParams)) {
- params = urlEncodeParams(paramsArg).toString();
- }
- else {
- params = paramsArg.toString();
- }
- if (params.length > 0) {
- var /** @type {?} */ prefix = '?';
- if (_this.url.indexOf('?') != -1) {
- prefix = (_this.url[_this.url.length - 1] == '&') ? '' : '&';
- }
- // TODO: just delete search-query-looking string in url?
- // TODO: just delete search-query-looking string in url?
- _this.url = url + prefix + params;
- }
- }
- _this._body = requestOptions.body;
- _this.method = normalizeMethodName(/** @type {?} */ ((requestOptions.method)));
- // TODO(jeffbcross): implement behavior
- // Defaults to 'omit', consistent with browser
- // TODO(jeffbcross): implement behavior
- // Defaults to 'omit', consistent with browser
- _this.headers = new Headers(requestOptions.headers);
- _this.contentType = _this.detectContentType();
- _this.withCredentials = /** @type {?} */ ((requestOptions.withCredentials));
- _this.responseType = /** @type {?} */ ((requestOptions.responseType));
- return _this;
- }
- /**
- * Returns the content type enum based on header options.
- */
- /**
- * Returns the content type enum based on header options.
- * @return {?}
- */
- Request.prototype.detectContentType = /**
- * Returns the content type enum based on header options.
- * @return {?}
- */
- function () {
- switch (this.headers.get('content-type')) {
- case 'application/json':
- return ContentType.JSON;
- case 'application/x-www-form-urlencoded':
- return ContentType.FORM;
- case 'multipart/form-data':
- return ContentType.FORM_DATA;
- case 'text/plain':
- case 'text/html':
- return ContentType.TEXT;
- case 'application/octet-stream':
- return this._body instanceof ArrayBuffer$1 ? ContentType.ARRAY_BUFFER : ContentType.BLOB;
- default:
- return this.detectContentTypeFromBody();
- }
- };
- /**
- * Returns the content type of request's body based on its type.
- */
- /**
- * Returns the content type of request's body based on its type.
- * @return {?}
- */
- Request.prototype.detectContentTypeFromBody = /**
- * Returns the content type of request's body based on its type.
- * @return {?}
- */
- function () {
- if (this._body == null) {
- return ContentType.NONE;
- }
- else if (this._body instanceof URLSearchParams) {
- return ContentType.FORM;
- }
- else if (this._body instanceof FormData) {
- return ContentType.FORM_DATA;
- }
- else if (this._body instanceof Blob$1) {
- return ContentType.BLOB;
- }
- else if (this._body instanceof ArrayBuffer$1) {
- return ContentType.ARRAY_BUFFER;
- }
- else if (this._body && typeof this._body === 'object') {
- return ContentType.JSON;
- }
- else {
- return ContentType.TEXT;
- }
- };
- /**
- * Returns the request's body according to its type. If body is undefined, return
- * null.
- */
- /**
- * Returns the request's body according to its type. If body is undefined, return
- * null.
- * @return {?}
- */
- Request.prototype.getBody = /**
- * Returns the request's body according to its type. If body is undefined, return
- * null.
- * @return {?}
- */
- function () {
- switch (this.contentType) {
- case ContentType.JSON:
- return this.text();
- case ContentType.FORM:
- return this.text();
- case ContentType.FORM_DATA:
- return this._body;
- case ContentType.TEXT:
- return this.text();
- case ContentType.BLOB:
- return this.blob();
- case ContentType.ARRAY_BUFFER:
- return this.arrayBuffer();
- default:
- return null;
- }
- };
- return Request;
- }(Body));
- /**
- * @param {?} params
- * @return {?}
- */
- function urlEncodeParams(params) {
- var /** @type {?} */ searchParams = new URLSearchParams();
- Object.keys(params).forEach(function (key) {
- var /** @type {?} */ value = params[key];
- if (value && Array.isArray(value)) {
- value.forEach(function (element) { return searchParams.append(key, element.toString()); });
- }
- else {
- searchParams.append(key, value.toString());
- }
- });
- return searchParams;
- }
- var noop = function () { };
- var w = typeof window == 'object' ? window : noop;
- var FormData = (/** @type {?} */ (w /** TODO #9100 */) /** TODO #9100 */)['FormData'] || noop;
- var Blob$1 = (/** @type {?} */ (w /** TODO #9100 */) /** TODO #9100 */)['Blob'] || noop;
- var ArrayBuffer$1 = (/** @type {?} */ (w /** TODO #9100 */) /** TODO #9100 */)['ArrayBuffer'] || noop;
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes} checked by tsc
- */
- /**
- * @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
- */
- /**
- * @param {?} backend
- * @param {?} request
- * @return {?}
- */
- function httpRequest(backend, request) {
- return backend.createConnection(request).response;
- }
- /**
- * @param {?} defaultOpts
- * @param {?} providedOpts
- * @param {?} method
- * @param {?} url
- * @return {?}
- */
- function mergeOptions(defaultOpts, providedOpts, method, url) {
- var /** @type {?} */ newOptions = defaultOpts;
- if (providedOpts) {
- // Hack so Dart can used named parameters
- return /** @type {?} */ (newOptions.merge(new RequestOptions({
- method: providedOpts.method || method,
- url: providedOpts.url || url,
- search: providedOpts.search,
- params: providedOpts.params,
- headers: providedOpts.headers,
- body: providedOpts.body,
- withCredentials: providedOpts.withCredentials,
- responseType: providedOpts.responseType
- })));
- }
- return /** @type {?} */ (newOptions.merge(new RequestOptions({ method: method, url: url })));
- }
- /**
- * Performs http requests using `XMLHttpRequest` as the default backend.
- *
- * `Http` is available as an injectable class, with methods to perform http requests. Calling
- * `request` returns an `Observable` which will emit a single {\@link Response} when a
- * response is received.
- *
- * ### Example
- *
- * ```typescript
- * import {Http, HTTP_PROVIDERS} from '\@angular/http';
- * import 'rxjs/add/operator/map'
- * \@Component({
- * selector: 'http-app',
- * viewProviders: [HTTP_PROVIDERS],
- * templateUrl: 'people.html'
- * })
- * class PeopleComponent {
- * constructor(http: Http) {
- * http.get('people.json')
- * // Call map on the response observable to get the parsed people object
- * .map(res => res.json())
- * // Subscribe to the observable to get the parsed people object and attach it to the
- * // component
- * .subscribe(people => this.people = people);
- * }
- * }
- * ```
- *
- *
- * ### Example
- *
- * ```
- * http.get('people.json').subscribe((res:Response) => this.people = res.json());
- * ```
- *
- * The default construct used to perform requests, `XMLHttpRequest`, is abstracted as a "Backend" (
- * {\@link XHRBackend} in this case), which could be mocked with dependency injection by replacing
- * the {\@link XHRBackend} provider, as in the following example:
- *
- * ### Example
- *
- * ```typescript
- * import {BaseRequestOptions, Http} from '\@angular/http';
- * import {MockBackend} from '\@angular/http/testing';
- * var injector = Injector.resolveAndCreate([
- * BaseRequestOptions,
- * MockBackend,
- * {provide: Http, useFactory:
- * function(backend, defaultOptions) {
- * return new Http(backend, defaultOptions);
- * },
- * deps: [MockBackend, BaseRequestOptions]}
- * ]);
- * var http = injector.get(Http);
- * http.get('request-from-mock-backend.json').subscribe((res:Response) => doSomething(res));
- * ```
- *
- * @deprecated use \@angular/common/http instead
- */
- var Http = /** @class */ (function () {
- function Http(_backend, _defaultOptions) {
- this._backend = _backend;
- this._defaultOptions = _defaultOptions;
- }
- /**
- * Performs any type of http request. First argument is required, and can either be a url or
- * a {@link Request} instance. If the first argument is a url, an optional {@link RequestOptions}
- * object can be provided as the 2nd argument. The options object will be merged with the values
- * of {@link BaseRequestOptions} before performing the request.
- */
- /**
- * Performs any type of http request. First argument is required, and can either be a url or
- * a {\@link Request} instance. If the first argument is a url, an optional {\@link RequestOptions}
- * object can be provided as the 2nd argument. The options object will be merged with the values
- * of {\@link BaseRequestOptions} before performing the request.
- * @param {?} url
- * @param {?=} options
- * @return {?}
- */
- Http.prototype.request = /**
- * Performs any type of http request. First argument is required, and can either be a url or
- * a {\@link Request} instance. If the first argument is a url, an optional {\@link RequestOptions}
- * object can be provided as the 2nd argument. The options object will be merged with the values
- * of {\@link BaseRequestOptions} before performing the request.
- * @param {?} url
- * @param {?=} options
- * @return {?}
- */
- function (url, options) {
- var /** @type {?} */ responseObservable;
- if (typeof url === 'string') {
- responseObservable = httpRequest(this._backend, new Request(mergeOptions(this._defaultOptions, options, RequestMethod.Get, /** @type {?} */ (url))));
- }
- else if (url instanceof Request) {
- responseObservable = httpRequest(this._backend, url);
- }
- else {
- throw new Error('First argument must be a url string or Request instance.');
- }
- return responseObservable;
- };
- /**
- * Performs a request with `get` http method.
- */
- /**
- * Performs a request with `get` http method.
- * @param {?} url
- * @param {?=} options
- * @return {?}
- */
- Http.prototype.get = /**
- * Performs a request with `get` http method.
- * @param {?} url
- * @param {?=} options
- * @return {?}
- */
- function (url, options) {
- return this.request(new Request(mergeOptions(this._defaultOptions, options, RequestMethod.Get, url)));
- };
- /**
- * Performs a request with `post` http method.
- */
- /**
- * Performs a request with `post` http method.
- * @param {?} url
- * @param {?} body
- * @param {?=} options
- * @return {?}
- */
- Http.prototype.post = /**
- * Performs a request with `post` http method.
- * @param {?} url
- * @param {?} body
- * @param {?=} options
- * @return {?}
- */
- function (url, body, options) {
- return this.request(new Request(mergeOptions(this._defaultOptions.merge(new RequestOptions({ body: body })), options, RequestMethod.Post, url)));
- };
- /**
- * Performs a request with `put` http method.
- */
- /**
- * Performs a request with `put` http method.
- * @param {?} url
- * @param {?} body
- * @param {?=} options
- * @return {?}
- */
- Http.prototype.put = /**
- * Performs a request with `put` http method.
- * @param {?} url
- * @param {?} body
- * @param {?=} options
- * @return {?}
- */
- function (url, body, options) {
- return this.request(new Request(mergeOptions(this._defaultOptions.merge(new RequestOptions({ body: body })), options, RequestMethod.Put, url)));
- };
- /**
- * Performs a request with `delete` http method.
- */
- /**
- * Performs a request with `delete` http method.
- * @param {?} url
- * @param {?=} options
- * @return {?}
- */
- Http.prototype.delete = /**
- * Performs a request with `delete` http method.
- * @param {?} url
- * @param {?=} options
- * @return {?}
- */
- function (url, options) {
- return this.request(new Request(mergeOptions(this._defaultOptions, options, RequestMethod.Delete, url)));
- };
- /**
- * Performs a request with `patch` http method.
- */
- /**
- * Performs a request with `patch` http method.
- * @param {?} url
- * @param {?} body
- * @param {?=} options
- * @return {?}
- */
- Http.prototype.patch = /**
- * Performs a request with `patch` http method.
- * @param {?} url
- * @param {?} body
- * @param {?=} options
- * @return {?}
- */
- function (url, body, options) {
- return this.request(new Request(mergeOptions(this._defaultOptions.merge(new RequestOptions({ body: body })), options, RequestMethod.Patch, url)));
- };
- /**
- * Performs a request with `head` http method.
- */
- /**
- * Performs a request with `head` http method.
- * @param {?} url
- * @param {?=} options
- * @return {?}
- */
- Http.prototype.head = /**
- * Performs a request with `head` http method.
- * @param {?} url
- * @param {?=} options
- * @return {?}
- */
- function (url, options) {
- return this.request(new Request(mergeOptions(this._defaultOptions, options, RequestMethod.Head, url)));
- };
- /**
- * Performs a request with `options` http method.
- */
- /**
- * Performs a request with `options` http method.
- * @param {?} url
- * @param {?=} options
- * @return {?}
- */
- Http.prototype.options = /**
- * Performs a request with `options` http method.
- * @param {?} url
- * @param {?=} options
- * @return {?}
- */
- function (url, options) {
- return this.request(new Request(mergeOptions(this._defaultOptions, options, RequestMethod.Options, url)));
- };
- Http.decorators = [
- { type: Injectable },
- ];
- /** @nocollapse */
- Http.ctorParameters = function () { return [
- { type: ConnectionBackend, },
- { type: RequestOptions, },
- ]; };
- return Http;
- }());
- /**
- * @deprecated use \@angular/common/http instead
- */
- var Jsonp = /** @class */ (function (_super) {
- __extends(Jsonp, _super);
- function Jsonp(backend, defaultOptions) {
- return _super.call(this, backend, defaultOptions) || this;
- }
- /**
- * Performs any type of http request. First argument is required, and can either be a url or
- * a {@link Request} instance. If the first argument is a url, an optional {@link RequestOptions}
- * object can be provided as the 2nd argument. The options object will be merged with the values
- * of {@link BaseRequestOptions} before performing the request.
- *
- * @security Regular XHR is the safest alternative to JSONP for most applications, and is
- * supported by all current browsers. Because JSONP creates a `<script>` element with
- * contents retrieved from a remote source, attacker-controlled data introduced by an untrusted
- * source could expose your application to XSS risks. Data exposed by JSONP may also be
- * readable by malicious third-party websites. In addition, JSONP introduces potential risk for
- * future security issues (e.g. content sniffing). For more detail, see the
- * [Security Guide](http://g.co/ng/security).
- */
- /**
- * Performs any type of http request. First argument is required, and can either be a url or
- * a {\@link Request} instance. If the first argument is a url, an optional {\@link RequestOptions}
- * object can be provided as the 2nd argument. The options object will be merged with the values
- * of {\@link BaseRequestOptions} before performing the request.
- *
- * \@security Regular XHR is the safest alternative to JSONP for most applications, and is
- * supported by all current browsers. Because JSONP creates a `<script>` element with
- * contents retrieved from a remote source, attacker-controlled data introduced by an untrusted
- * source could expose your application to XSS risks. Data exposed by JSONP may also be
- * readable by malicious third-party websites. In addition, JSONP introduces potential risk for
- * future security issues (e.g. content sniffing). For more detail, see the
- * [Security Guide](http://g.co/ng/security).
- * @param {?} url
- * @param {?=} options
- * @return {?}
- */
- Jsonp.prototype.request = /**
- * Performs any type of http request. First argument is required, and can either be a url or
- * a {\@link Request} instance. If the first argument is a url, an optional {\@link RequestOptions}
- * object can be provided as the 2nd argument. The options object will be merged with the values
- * of {\@link BaseRequestOptions} before performing the request.
- *
- * \@security Regular XHR is the safest alternative to JSONP for most applications, and is
- * supported by all current browsers. Because JSONP creates a `<script>` element with
- * contents retrieved from a remote source, attacker-controlled data introduced by an untrusted
- * source could expose your application to XSS risks. Data exposed by JSONP may also be
- * readable by malicious third-party websites. In addition, JSONP introduces potential risk for
- * future security issues (e.g. content sniffing). For more detail, see the
- * [Security Guide](http://g.co/ng/security).
- * @param {?} url
- * @param {?=} options
- * @return {?}
- */
- function (url, options) {
- var /** @type {?} */ responseObservable;
- if (typeof url === 'string') {
- url =
- new Request(mergeOptions(this._defaultOptions, options, RequestMethod.Get, /** @type {?} */ (url)));
- }
- if (url instanceof Request) {
- if (url.method !== RequestMethod.Get) {
- throw new Error('JSONP requests must use GET request method.');
- }
- responseObservable = httpRequest(this._backend, url);
- }
- else {
- throw new Error('First argument must be a url string or Request instance.');
- }
- return responseObservable;
- };
- Jsonp.decorators = [
- { type: Injectable },
- ];
- /** @nocollapse */
- Jsonp.ctorParameters = function () { return [
- { type: ConnectionBackend, },
- { type: RequestOptions, },
- ]; };
- return Jsonp;
- }(Http));
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes} checked by tsc
- */
- /**
- * @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
- */
- /**
- * @return {?}
- */
- function _createDefaultCookieXSRFStrategy() {
- return new CookieXSRFStrategy();
- }
- /**
- * @param {?} xhrBackend
- * @param {?} requestOptions
- * @return {?}
- */
- function httpFactory(xhrBackend, requestOptions) {
- return new Http(xhrBackend, requestOptions);
- }
- /**
- * @param {?} jsonpBackend
- * @param {?} requestOptions
- * @return {?}
- */
- function jsonpFactory(jsonpBackend, requestOptions) {
- return new Jsonp(jsonpBackend, requestOptions);
- }
- /**
- * The module that includes http's providers
- *
- * @deprecated use \@angular/common/http instead
- */
- var HttpModule = /** @class */ (function () {
- function HttpModule() {
- }
- HttpModule.decorators = [
- { type: NgModule, args: [{
- providers: [
- // TODO(pascal): use factory type annotations once supported in DI
- // issue: https://github.com/angular/angular/issues/3183
- { provide: Http, useFactory: httpFactory, deps: [XHRBackend, RequestOptions] },
- BrowserXhr,
- { provide: RequestOptions, useClass: BaseRequestOptions },
- { provide: ResponseOptions, useClass: BaseResponseOptions },
- XHRBackend,
- { provide: XSRFStrategy, useFactory: _createDefaultCookieXSRFStrategy },
- ],
- },] },
- ];
- /** @nocollapse */
- HttpModule.ctorParameters = function () { return []; };
- return HttpModule;
- }());
- /**
- * The module that includes jsonp's providers
- *
- * @deprecated use \@angular/common/http instead
- */
- var JsonpModule = /** @class */ (function () {
- function JsonpModule() {
- }
- JsonpModule.decorators = [
- { type: NgModule, args: [{
- providers: [
- // TODO(pascal): use factory type annotations once supported in DI
- // issue: https://github.com/angular/angular/issues/3183
- { provide: Jsonp, useFactory: jsonpFactory, deps: [JSONPBackend, RequestOptions] },
- BrowserJsonp,
- { provide: RequestOptions, useClass: BaseRequestOptions },
- { provide: ResponseOptions, useClass: BaseResponseOptions },
- JSONPBackend,
- ],
- },] },
- ];
- /** @nocollapse */
- JsonpModule.ctorParameters = function () { return []; };
- return JsonpModule;
- }());
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes} checked by tsc
- */
- /**
- * @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
- */
- /**
- * @deprecated use \@angular/common/http instead
- */
- var VERSION = new Version('5.2.11');
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes} checked by tsc
- */
- /**
- * @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
- */
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes} checked by tsc
- */
- /**
- * @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
- */
- /**
- * @module
- * @description
- * Entry point for all public APIs of this package.
- */
-
- // This file only reexports content of the `src` folder. Keep it that way.
-
- /**
- * @fileoverview added by tsickle
- * @suppress {checkTypes} checked by tsc
- */
- /**
- * Generated bundle index. Do not edit.
- */
-
- export { BrowserXhr, JSONPBackend, JSONPConnection, CookieXSRFStrategy, XHRBackend, XHRConnection, BaseRequestOptions, RequestOptions, BaseResponseOptions, ResponseOptions, ReadyState, RequestMethod, ResponseContentType, ResponseType, Headers, Http, Jsonp, HttpModule, JsonpModule, Connection, ConnectionBackend, XSRFStrategy, Request, Response, QueryEncoder, URLSearchParams, VERSION, BrowserJsonp as ɵe, Body as ɵf, _createDefaultCookieXSRFStrategy as ɵa, httpFactory as ɵb, jsonpFactory as ɵc };
- //# sourceMappingURL=http.js.map
|