63 Commits

Author SHA1 Message Date
Miško Hevery
4676df5833 fix(http): REVERT: remove dots from jsonp callback name ()
This reverts commit 9e5617e41e222d29c3952ba71a401804030cd153.
2017-02-09 15:34:12 -06:00
cexbrayat
5f2b3173d7 fix(http): use params without RequestOptions ()
`params` has been introduced in 4.0.0-beta.0

Before:

    http.get(url, new RequestOptions({params: searchParams}))

After:

    http.get(url, {params: searchParams})

Fixes 

PR Close 
2017-01-31 15:44:49 -06:00
Dzmitry Shylovich
9e5617e41e fix(http): remove dots from jsonp callback name ()
PR Close 
2017-01-29 11:49:40 -06:00
Dzmitry Shylovich
1200cf25f4 fix(http): don't create a blob out of ArrayBuffer when type is application/octet-stream ()
Closes 
2017-01-18 16:01:02 -08:00
Miško Hevery
d169c2434e feat(core): Add type information to injector.get() ()
- Introduce `InjectionToken<T>` which is a parameterized and type-safe
  version of `OpaqueToken`.

DEPRECATION:
- `OpaqueToken` is now deprecated, use `InjectionToken<T>` instead.
- `Injector.get(token: any, notFoundValue?: any): any` is now deprecated
  use the same method which is now overloaded as
  `Injector.get<T>(token: Type<T>|InjectionToken<T>, notFoundValue?: T): T;`.

Migration
- Replace `OpaqueToken` with `InjectionToken<?>` and parameterize it.
- Migrate your code to only use `Type<?>` or `InjectionToken<?>` as
  injection tokens. Using other tokens will not be supported in the
  future.

BREAKING CHANGE:
- Because `injector.get()` is now parameterize it is possible that code
  which used to work no longer type checks. Example would be if one
  injects `Foo` but configures it as `{provide: Foo, useClass: MockFoo}`.
  The injection instance will be that of `MockFoo` but the type will be
  `Foo` instead of `any` as in the past. This means that it was possible
  to call a method on `MockFoo` in the past which now will fail type
  check. See this example:

```
class Foo {}
class MockFoo extends Foo {
  setupMock();
}

var PROVIDERS = [
  {provide: Foo, useClass: MockFoo}
];

...

function myTest(injector: Injector) {
  var foo = injector.get(Foo);
  // This line used to work since `foo` used to be `any` before this
  // change, it will now be `Foo`, and `Foo` does not have `setUpMock()`.
  // The fix is to downcast: `injector.get(Foo) as MockFoo`.
  foo.setUpMock();
}
```

PR Close 
2017-01-17 15:34:54 -06:00
Dzmitry Shylovich
2e500cc85b fix(http): create a copy of headers when merge options ()
Closes 
2016-12-12 11:16:34 -08:00
domusofsail
08ff2e5249 fix(http): check response body text against undefined () 2016-12-09 15:39:39 -08:00
Dzmitry Shylovich
90c223591f feat(http): simplify URLSearchParams creation ()
Closes 
2016-12-09 15:38:29 -08:00
Dzmitry Shylovich
986abbe0b2 fix(http): set the default Accept header ()
Fixes 
2016-12-06 16:20:43 -08:00
João Dias
13ba2f90b9 refactor(http): remove all facade methods from http module () 2016-11-15 09:19:14 -08:00
Dzmitry Shylovich
1d53a870dd fix(http): return request url if it cannot be retrieved from response
closes 
2016-11-14 12:54:43 -08:00
Dzmitry Shylovich
a0c58a6b5c fix(http): correctly handle response body for 204 status code
closes 
fixes 
2016-11-14 12:36:22 -08:00
Joao Dias
77ee27c59e refactor(): use const and let instead of var 2016-11-12 16:40:17 -08:00
Alex Rickabaugh
121e5080aa fix(http): preserve header case when copying headers () 2016-11-04 13:26:38 -07:00
Barna Tóth
b4265e0685 fix(xsrf): overwrite already set xsrf header 2016-10-26 14:55:24 -07:00
Victor Berchet
76dd026447 refactor: remove some facades () 2016-10-19 13:42:39 -07:00
Dzmitry Shylovich
8603d9c269 refactor(http): use Http.request for all http shorthand methods () 2016-10-17 23:04:25 -07:00
Victor Berchet
f4566f8128 fix(http): fix Headers initialization from Headers and Object () 2016-10-06 15:21:27 -07:00
Victor Berchet
a67c06708d fix(http): Headers.append should append to the list 2016-10-06 15:21:03 -07:00
Victor Berchet
d9d57d71dd refactor(http): move one Headers test inside the main describe 2016-10-06 15:21:03 -07:00
Victor Berchet
ed9c2b6281 fix(Header): preserve case of the first init, set() or append() ()
fixes 
2016-10-03 15:27:56 -07:00
alexbyk
bf7b82b658 fix(UrlSearchParams): change a behavior when a param value is null or undefined () 2016-09-30 09:57:26 -07:00
Alex Eagle
41c8c30973 chore(lint): remove unused imports ()
This was done automatically by tslint, which can now fix issues it finds.
The fixer is still pending in PR https://github.com/palantir/tslint/pull/1568
Also I have a local bugfix for https://github.com/palantir/tslint/issues/1569
which causes too many imports to be deleted.
2016-09-27 17:12:25 -07:00
Victor Berchet
58605cf350 refactor(facade): remove useless facades 2016-09-27 16:13:09 -07:00
Flounn
5ab5cc77bb Fix(http): invalidStateError if response body without content ()
Fix(http): invalidStateError if response body without content
If the responseType has been specified and other than 'text', responseText throw an InvalidStateError exception

See XHR doc => https://xhr.spec.whatwg.org/#the-responsetext-attribute

Unit Test to prevent invalidStateError
2016-09-24 05:44:01 +09:00
Victor Berchet
671f73448c refactor: misc cleanup () 2016-09-19 17:15:57 -07:00
Florian Knop
75553200c0 fix(http): encode correct value for %3D () 2016-08-26 15:47:29 -07:00
Igor Minar
7dfcaac730 fix(http): restructure exports so that we don't leak private factory functions ()
Ref 
2016-08-23 16:34:57 -07:00
Marcus Krahl
654ff6115a fix(http): deep copy for constructor using existing Headers ()
When creating a new Headers object using an existing Headers object
the existing Headers map is copied by reference. Therefore adding a
new Header value to the new Headers object also added this value to
the existing Headers object which is not in accordance with the
spec.
This commit alters the constructor to create a deep copy of existing
Headers maps and therefore unlink existing Headers from new Headers.

Closes 

BREAKING CHANGE: 

any code which relies on the fact that a newly
created Headers object is referencing an existing Headers map is
now broken, but that should normally not be the case since this
behavior is not documented and not in accordance with the spec.
2016-08-18 15:00:44 -07:00
Chuck Jazdzewski
675e582ffd refactor(http): Removed deprecated HTTP_PROVIDERS and JSONP_PROVIDERS ()
BREAKING CHANGE: previously deprecated HTTP_PROVIDERS and JSONP_PROVIDERS were removed; see deprecation notice for migration instructions.
2016-08-17 07:43:31 -07:00
Daniel Leib
7cd4741fcb fix(http): return empty string if no body is present () 2016-08-11 21:40:18 -07:00
Damien Cassan
0bd97ecda2 feat(http): add options method to Http ()
Add options method to the Http object, which could be useful when using self-describing RESTful APIs.

This closes , closes 
2016-08-08 09:15:13 -07:00
Jason Choi
99989f5d3f chore(facade): remove most facade/async functions 2016-08-05 12:26:28 -07:00
Cody-Nicholson
251953218c fix(http): URLSearchParams.clone propagate the QueryEncoder () 2016-07-30 19:01:20 -07:00
Zhicheng Wang
6134320f16 refactor(http): rewrite for readable & efficient. 2016-07-29 21:30:28 -07:00
Zhicheng Wang
7f647822bd fix(http): headers should be case-insensitive.
fixes 

spec at https://tools.ietf.org/html/rfc2616
2016-07-29 21:30:15 -07:00
Marc Laval
f0bd528d77 test(http): fix Blob creation for Android <= 4.3
Closes 
2016-07-29 18:20:09 +02:00
Jason Choi
64fc4648b7 fix(testing): correctly import NgMatchers ()
Some test cases incorrectly rely on the side effect of other test cases
importing `NgMatchers`. This commit fixes this by making `expect` in
`core/testing_internal` properly typed.
2016-07-22 09:20:51 -07:00
Josh Gerdes
bdb59129d0 feat(http): add content-type override support for http request () 2016-07-22 08:37:32 -07:00
Victor Berchet
00aa7a76b6 chore(tests): enable lint, make it green. () 2016-07-21 17:12:00 -07:00
Damien Cassan
76b8a49bfb feat(http): add support for blob as a response type () 2016-07-21 13:44:38 -07:00
Damien Cassan
83bc5c97ef fix(http): convert objects passed to requests into a string ()
This remove a breaking change introduced with commit #e7a8e2757b06d572f614f53b648d2fd75df370d2 where json objects passed to  requests were not converted into string.

BREAKING CHANGE:

The behavior in this commit is the same as before PR 7260 : the objects sent with the request are converted to a string, therefore there is no need for the user to take care of the serialization.

Fixes 
2016-07-18 14:20:03 -07:00
Damien Cassan
e7a8e2757b refactor(http): share 'body' logic between Request and Response 2016-07-12 18:01:06 -07:00
Damien Cassan
1266460386 feat(http): add support for ArrayBuffer
Add the buffer option to store response in ArrayBuffer
Improve the interface to get back response independently of the buffer type
2016-07-12 18:01:06 -07:00
Jeff Cross
1620426393 fix(http): don't encode values that are allowed in query ()
This implements a new class, QueryEncoder, that provides
methods for encoding keys and values of query parameter.
The encoder encodes with encodeURIComponent, and then
decodes a whitelist of allowed characters back to their
unencoded form.

BREAKING CHANGE:

The changes to Http's URLSearchParams serialization now 
prevent encoding of these characters inside query parameters
which were previously converted to percent-encoded values:

@ : $ , ; + ; ? /

The default encoding behavior can be overridden by extending
QueryEncoder, as documented in the URLSearchParams service.

Fixes 
2016-06-28 11:31:35 -07:00
ScottSWu
ae75e3640a chore(lint): Added license headers to most TypeScript files
Relates to 
2016-06-23 09:47:54 -07:00
Dmitry Zamula
a5f2e205ef fix(http): add search param escaping for keys () 2016-06-22 18:23:15 -07:00
Victor Berchet
12c49042ab fix(HTTP/XhrBackend): correctly set the status code on errors ()
fixes 
fixes 
2016-06-20 15:02:14 -07:00
Vivek Ghaisas
537e99b4ea fix(http): respect custom Content-Type header in XHRConnection ()
Fix a bug due to which setting a custom Content-Type header in the
Request led to multiple Content-Types being set on the sent
XMLHttpRequest: first the detected content type based on the request
body, followed by the custom set content type.

Fix .
2016-06-10 08:18:49 -07:00
Alex Eagle
f39c9c9e75 style(lint): re-format modules/@angular 2016-06-09 17:00:15 -07:00