angular-cn/modules/angular2/src/http/base_request_options.ts

35 lines
1.3 KiB
TypeScript
Raw Normal View History

import {CONST_EXPR, CONST, isPresent} from 'angular2/src/facade/lang';
import {Headers} from './headers';
import {URLSearchParams} from './url_search_params';
import {RequestModesOpts, RequestMethods, RequestCacheOpts, RequestCredentialsOpts} from './enums';
import {RequestOptions} from './interfaces';
import {Injectable} from 'angular2/di';
import {ListWrapper, StringMapWrapper} from 'angular2/src/facade/collection';
2015-06-13 18:49:05 -04:00
export class RequestOptionsClass implements RequestOptions {
method: RequestMethods = RequestMethods.GET;
headers: Headers;
2015-06-13 18:49:05 -04:00
body: URLSearchParams | FormData | Blob | string;
mode: RequestModesOpts = RequestModesOpts.Cors;
credentials: RequestCredentialsOpts;
cache: RequestCacheOpts;
constructor({method, headers, body, mode, credentials,
cache}: RequestOptions = {method: RequestMethods.GET, mode: RequestModesOpts.Cors}) {
this.method = method;
this.headers = headers;
this.body = body;
this.mode = mode;
this.credentials = credentials;
this.cache = cache;
}
merge(opts: RequestOptions = {}): RequestOptionsClass {
return new RequestOptionsClass(StringMapWrapper.merge(this, opts));
}
}
@Injectable()
export class BaseRequestOptions extends RequestOptionsClass {
constructor() { super(); }
}