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,
|
this._backend,
|
||||||
new Request(mergeOptions(this._defaultOptions, options, RequestMethod.Head, url)));
|
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', () => {
|
describe('searchParams', () => {
|
||||||
it('should append search params to url',
|
it('should append search params to url',
|
||||||
inject([AsyncTestCompleter], (async: AsyncTestCompleter) => {
|
inject([AsyncTestCompleter], (async: AsyncTestCompleter) => {
|
||||||
|
1
tools/public_api_guard/http/index.d.ts
vendored
1
tools/public_api_guard/http/index.d.ts
vendored
@ -64,6 +64,7 @@ export declare class Http {
|
|||||||
delete(url: string, options?: RequestOptionsArgs): Observable<Response>;
|
delete(url: string, options?: RequestOptionsArgs): Observable<Response>;
|
||||||
get(url: string, options?: RequestOptionsArgs): Observable<Response>;
|
get(url: string, options?: RequestOptionsArgs): Observable<Response>;
|
||||||
head(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>;
|
patch(url: string, body: any, options?: RequestOptionsArgs): Observable<Response>;
|
||||||
post(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>;
|
put(url: string, body: any, options?: RequestOptionsArgs): Observable<Response>;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user