feat(http): add options method to Http (#10540)
Add options method to the Http object, which could be useful when using self-describing RESTful APIs. This closes #10500, closes #7918
This commit is contained in:
parent
46bbcefb36
commit
0bd97ecda2
|
@ -186,6 +186,15 @@ export class Http {
|
|||
this._backend,
|
||||
new Request(mergeOptions(this._defaultOptions, options, RequestMethod.Head, url)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Performs a request with `options` http method.
|
||||
*/
|
||||
options(url: string, options?: RequestOptionsArgs): Observable<Response> {
|
||||
return httpRequest(
|
||||
this._backend,
|
||||
new Request(mergeOptions(this._defaultOptions, options, RequestMethod.Options, url)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -310,6 +310,19 @@ export function main() {
|
|||
});
|
||||
|
||||
|
||||
describe('.options()', () => {
|
||||
it('should perform an options request for given url',
|
||||
inject([AsyncTestCompleter], (async: AsyncTestCompleter) => {
|
||||
backend.connections.subscribe((c: MockConnection) => {
|
||||
expect(c.request.method).toBe(RequestMethod.Options);
|
||||
backend.resolveAllConnections();
|
||||
async.done();
|
||||
});
|
||||
http.options(url).subscribe((res: Response) => {});
|
||||
}));
|
||||
});
|
||||
|
||||
|
||||
describe('searchParams', () => {
|
||||
it('should append search params to url',
|
||||
inject([AsyncTestCompleter], (async: AsyncTestCompleter) => {
|
||||
|
|
|
@ -64,6 +64,7 @@ export declare class Http {
|
|||
delete(url: string, options?: RequestOptionsArgs): Observable<Response>;
|
||||
get(url: string, options?: RequestOptionsArgs): Observable<Response>;
|
||||
head(url: string, options?: RequestOptionsArgs): Observable<Response>;
|
||||
options(url: string, options?: RequestOptionsArgs): Observable<Response>;
|
||||
patch(url: string, body: any, options?: RequestOptionsArgs): Observable<Response>;
|
||||
post(url: string, body: any, options?: RequestOptionsArgs): Observable<Response>;
|
||||
put(url: string, body: any, options?: RequestOptionsArgs): Observable<Response>;
|
||||
|
|
Loading…
Reference in New Issue