78 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| /**
 | |
|  * @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
 | |
|  * The http module provides services to perform http requests. To get started, see the {@link Http}
 | |
|  * class.
 | |
|  */
 | |
| import {NgModule} from '@angular/core';
 | |
| 
 | |
| import {BrowserJsonp} from './src/backends/browser_jsonp';
 | |
| import {BrowserXhr} from './src/backends/browser_xhr';
 | |
| import {JSONPBackend, JSONPBackend_} from './src/backends/jsonp_backend';
 | |
| import {CookieXSRFStrategy, XHRBackend} from './src/backends/xhr_backend';
 | |
| import {BaseRequestOptions, RequestOptions} from './src/base_request_options';
 | |
| import {BaseResponseOptions, ResponseOptions} from './src/base_response_options';
 | |
| import {Http, Jsonp} from './src/http';
 | |
| import {XSRFStrategy} from './src/interfaces';
 | |
| 
 | |
| 
 | |
| export function _createDefaultCookieXSRFStrategy() {
 | |
|   return new CookieXSRFStrategy();
 | |
| }
 | |
| 
 | |
| export function httpFactory(xhrBackend: XHRBackend, requestOptions: RequestOptions): Http {
 | |
|   return new Http(xhrBackend, requestOptions);
 | |
| }
 | |
| 
 | |
| export function jsonpFactory(jsonpBackend: JSONPBackend, requestOptions: RequestOptions): Jsonp {
 | |
|   return new Jsonp(jsonpBackend, requestOptions);
 | |
| }
 | |
| 
 | |
| 
 | |
| /**
 | |
|  * The module that includes http's providers
 | |
|  *
 | |
|  * @experimental
 | |
|  */
 | |
| @NgModule({
 | |
|   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},
 | |
|   ],
 | |
| })
 | |
| export class HttpModule {
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * The module that includes jsonp's providers
 | |
|  *
 | |
|  * @experimental
 | |
|  */
 | |
| @NgModule({
 | |
|   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},
 | |
|     {provide: JSONPBackend, useClass: JSONPBackend_},
 | |
|   ],
 | |
| })
 | |
| export class JsonpModule {
 | |
| }
 |