feat(http): serialize search parameters from request options
- Extends URLSearchParams API to include operations for combining
different URLSearchParams objects:
These new methods include:
setAll(otherParams): performs `this.set(key, values[0])` for each
key/value-list pair in `otherParams`
appendAll(otherParams): performs `this.append(key, values)` for
each key/value-list pair in `otherParams`
replaceAll(otherParams): for each key/value-list pair in
`otherParams`, replaces current set of values for `key` with
a copy of the list of values.
- RequestOptions do not merge search params automatically (because
there are multiple ways to do this). Instead, they replace any
existing `search` field if `search` is provided. Explicit merging
is required if merging is desirable.
- Some extra test coverage added.
Closes #2417
Closes #3020
This commit is contained in:
committed by
Tobias Bosch
parent
dfa5103b1d
commit
77d3668432
@@ -12,6 +12,10 @@ import {Headers} from './headers';
|
||||
import {BaseException} from 'angular2/src/facade/lang';
|
||||
import {EventEmitter} from 'angular2/src/facade/async';
|
||||
import {Request} from './static_request';
|
||||
import {URLSearchParamsUnionFixer, URLSearchParams} from './url_search_params';
|
||||
|
||||
// Work around Dartanalyzer problem :(
|
||||
const URLSearchParams_UnionFixer = URLSearchParamsUnionFixer;
|
||||
|
||||
/**
|
||||
* Abstract class from which real backends are derived.
|
||||
@@ -41,6 +45,7 @@ export class Connection {
|
||||
export interface IRequestOptions {
|
||||
url?: string;
|
||||
method?: RequestMethods;
|
||||
search?: string | URLSearchParams;
|
||||
headers?: Headers;
|
||||
// TODO: Support Blob, ArrayBuffer, JSON, URLSearchParams, FormData
|
||||
body?: string;
|
||||
|
||||
Reference in New Issue
Block a user