Skip to content

Commit

Permalink
feat: deprecate @angular/http in favor of @angular/common/http (#18906)
Browse files Browse the repository at this point in the history
As of 5.0, @angular/http is deprecated. @angular/common/http will
be the official HTTP API in Angular going forward.

PR Close #18906
  • Loading branch information
alxhub authored and mhevery committed Aug 28, 2017
1 parent 1ef558b commit 72c7b6e
Show file tree
Hide file tree
Showing 34 changed files with 136 additions and 136 deletions.
4 changes: 2 additions & 2 deletions packages/common/http/src/backend.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import {HttpEvent} from './response';
*
* In an `HttpInterceptor`, the `HttpHandler` parameter is the next interceptor in the chain.
*
* @experimental
* @stable
*/
export abstract class HttpHandler {
abstract handle(req: HttpRequest<any>): Observable<HttpEvent<any>>;
Expand All @@ -34,7 +34,7 @@ export abstract class HttpHandler {
* When injected, `HttpBackend` dispatches requests directly to the backend, without going
* through the interceptor chain.
*
* @experimental
* @stable
*/
export abstract class HttpBackend implements HttpHandler {
abstract handle(req: HttpRequest<any>): Observable<HttpEvent<any>>;
Expand Down
4 changes: 2 additions & 2 deletions packages/common/http/src/client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ function addBody<T>(
}

/**
* @experimental
* @stable
*/
export type HttpObserve = 'body' | 'events' | 'response';

Expand All @@ -57,7 +57,7 @@ export type HttpObserve = 'body' | 'events' | 'response';
* Each request method has multiple signatures, and the return type varies according to which
* signature is called (mainly the values of `observe` and `responseType`).
*
* @experimental
* @stable
*/
@Injectable()
export class HttpClient {
Expand Down
2 changes: 1 addition & 1 deletion packages/common/http/src/headers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ interface Update {

/**
* Immutable set of Http headers, with lazy parsing.
* @experimental
* @stable
*/
export class HttpHeaders {
/**
Expand Down
6 changes: 3 additions & 3 deletions packages/common/http/src/interceptor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import {HttpEvent} from './response';
* In rare cases, interceptors may wish to completely handle a request themselves,
* and not delegate to the remainder of the chain. This behavior is allowed.
*
* @experimental
* @stable
*/
export interface HttpInterceptor {
/**
Expand All @@ -47,7 +47,7 @@ export interface HttpInterceptor {
/**
* `HttpHandler` which applies an `HttpInterceptor` to an `HttpRequest`.
*
* @experimental
* @stable
*/
export class HttpInterceptorHandler implements HttpHandler {
constructor(private next: HttpHandler, private interceptor: HttpInterceptor) {}
Expand All @@ -61,7 +61,7 @@ export class HttpInterceptorHandler implements HttpHandler {
* A multi-provider token which represents the array of `HttpInterceptor`s that
* are registered.
*
* @experimental
* @stable
*/
export const HTTP_INTERCEPTORS = new InjectionToken<HttpInterceptor[]>('HTTP_INTERCEPTORS');

Expand Down
6 changes: 3 additions & 3 deletions packages/common/http/src/jsonp.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,15 @@ export const JSONP_ERR_WRONG_RESPONSE_TYPE = 'JSONP requests must use Json respo
*
* In the browser, this should always be the `window` object.
*
* @experimental
* @stable
*/
export abstract class JsonpCallbackContext { [key: string]: (data: any) => void; }

/**
* `HttpBackend` that only processes `HttpRequest` with the JSONP method,
* by performing JSONP style requests.
*
* @experimental
* @stable
*/
@Injectable()
export class JsonpClientBackend implements HttpBackend {
Expand Down Expand Up @@ -207,7 +207,7 @@ export class JsonpClientBackend implements HttpBackend {
* An `HttpInterceptor` which identifies requests with the method JSONP and
* shifts them to the `JsonpClientBackend`.
*
* @experimental
* @stable
*/
@Injectable()
export class JsonpInterceptor {
Expand Down
10 changes: 5 additions & 5 deletions packages/common/http/src/module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import {HttpXsrfCookieExtractor, HttpXsrfInterceptor, HttpXsrfTokenExtractor, XS
*
* Meant to be used as a factory function within `HttpClientModule`.
*
* @experimental
* @stable
*/
export function interceptingHandler(
backend: HttpBackend, interceptors: HttpInterceptor[] | null = []): HttpHandler {
Expand All @@ -40,7 +40,7 @@ export function interceptingHandler(
* Ordinarily JSONP callbacks are stored on the `window` object, but this may not exist
* in test environments. In that case, callbacks are stored on an anonymous object instead.
*
* @experimental
* @stable
*/
export function jsonpCallbackContext(): Object {
if (typeof window === 'object') {
Expand All @@ -59,7 +59,7 @@ export function jsonpCallbackContext(): Object {
* If no such names are provided, the default is to use `X-XSRF-TOKEN` for
* the header name and `XSRF-TOKEN` for the cookie name.
*
* @experimental
* @stable
*/
@NgModule({
providers: [
Expand Down Expand Up @@ -107,7 +107,7 @@ export class HttpClientXsrfModule {
* Interceptors can be added to the chain behind `HttpClient` by binding them
* to the multiprovider for `HTTP_INTERCEPTORS`.
*
* @experimental
* @stable
*/
@NgModule({
imports: [
Expand Down Expand Up @@ -140,7 +140,7 @@ export class HttpClientModule {
* Without this module, Jsonp requests will reach the backend
* with method JSONP, where they'll be rejected.
*
* @experimental
* @stable
*/
@NgModule({
providers: [
Expand Down
6 changes: 3 additions & 3 deletions packages/common/http/src/params.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
*
* Used by `HttpParams`.
*
* @experimental
* @stable
**/
export interface HttpParameterCodec {
encodeKey(key: string): string;
Expand All @@ -25,7 +25,7 @@ export interface HttpParameterCodec {
* A `HttpParameterCodec` that uses `encodeURIComponent` and `decodeURIComponent` to
* serialize and parse URL parameter keys and values.
*
* @experimental
* @stable
*/
export class HttpUrlEncodingCodec implements HttpParameterCodec {
encodeKey(k: string): string { return standardEncoding(k); }
Expand Down Expand Up @@ -79,7 +79,7 @@ interface Update {
*
* This class is immutable - all mutation operations return a new instance.
*
* @experimental
* @stable
*/
export class HttpParams {
private map: Map<string, string[]>|null;
Expand Down
2 changes: 1 addition & 1 deletion packages/common/http/src/request.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ function isFormData(value: any): value is FormData {
* assumed to be immutable. To modify a `HttpRequest`, the `clone`
* method should be used.
*
* @experimental
* @stable
*/
export class HttpRequest<T> {
/**
Expand Down
24 changes: 12 additions & 12 deletions packages/common/http/src/response.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import {HttpHeaders} from './headers';
/**
* Type enumeration for the different kinds of `HttpEvent`.
*
* @experimental
* @stable
*/
export enum HttpEventType {
/**
Expand Down Expand Up @@ -48,7 +48,7 @@ export enum HttpEventType {
/**
* Base interface for progress events.
*
* @experimental
* @stable
*/
export interface HttpProgressEvent {
/**
Expand All @@ -71,7 +71,7 @@ export interface HttpProgressEvent {
/**
* A download progress event.
*
* @experimental
* @stable
*/
export interface HttpDownloadProgressEvent extends HttpProgressEvent {
type: HttpEventType.DownloadProgress;
Expand All @@ -87,7 +87,7 @@ export interface HttpDownloadProgressEvent extends HttpProgressEvent {
/**
* An upload progress event.
*
* @experimental
* @stable
*/
export interface HttpUploadProgressEvent extends HttpProgressEvent {
type: HttpEventType.UploadProgress;
Expand All @@ -98,7 +98,7 @@ export interface HttpUploadProgressEvent extends HttpProgressEvent {
* when a request may be retried multiple times, to distinguish between
* retries on the final event stream.
*
* @experimental
* @stable
*/
export interface HttpSentEvent { type: HttpEventType.Sent; }

Expand All @@ -108,7 +108,7 @@ export interface HttpSentEvent { type: HttpEventType.Sent; }
* Grouping all custom events under this type ensures they will be handled
* and forwarded by all implementations of interceptors.
*
* @experimental
* @stable
*/
export interface HttpUserEvent<T> { type: HttpEventType.User; }

Expand All @@ -118,7 +118,7 @@ export interface HttpUserEvent<T> { type: HttpEventType.User; }
*
* It bundles the Error object with the actual response body that failed to parse.
*
* @experimental
* @stable
*/
export interface HttpJsonParseError {
error: Error;
Expand All @@ -130,15 +130,15 @@ export interface HttpJsonParseError {
*
* Typed according to the expected type of the response.
*
* @experimental
* @stable
*/
export type HttpEvent<T> =
HttpSentEvent | HttpHeaderResponse | HttpResponse<T>| HttpProgressEvent | HttpUserEvent<T>;

/**
* Base class for both `HttpResponse` and `HttpHeaderResponse`.
*
* @experimental
* @stable
*/
export abstract class HttpResponseBase {
/**
Expand Down Expand Up @@ -206,7 +206,7 @@ export abstract class HttpResponseBase {
* `HttpHeaderResponse` is a `HttpEvent` available on the response
* event stream, only when progress events are requested.
*
* @experimental
* @stable
*/
export class HttpHeaderResponse extends HttpResponseBase {
/**
Expand Down Expand Up @@ -247,7 +247,7 @@ export class HttpHeaderResponse extends HttpResponseBase {
* `HttpResponse` is a `HttpEvent` available on the response event
* stream.
*
* @experimental
* @stable
*/
export class HttpResponse<T> extends HttpResponseBase {
/**
Expand Down Expand Up @@ -297,7 +297,7 @@ export class HttpResponse<T> extends HttpResponseBase {
* will contain either a wrapped Error object or the error response returned
* from the server.
*
* @experimental
* @stable
*/
export class HttpErrorResponse extends HttpResponseBase implements Error {
readonly name = 'HttpErrorResponse';
Expand Down
6 changes: 3 additions & 3 deletions packages/common/http/src/xhr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,14 @@ function getResponseUrl(xhr: any): string|null {
/**
* A wrapper around the `XMLHttpRequest` constructor.
*
* @experimental
* @stable
*/
export abstract class XhrFactory { abstract build(): XMLHttpRequest; }

/**
* A factory for @{link HttpXhrBackend} that uses the `XMLHttpRequest` browser API.
*
* @experimental
* @stable
*/
@Injectable()
export class BrowserXhr implements XhrFactory {
Expand All @@ -63,7 +63,7 @@ interface PartialResponse {
* An `HttpBackend` which uses the XMLHttpRequest API to send
* requests to a backend server.
*
* @experimental
* @stable
*/
@Injectable()
export class HttpXhrBackend implements HttpBackend {
Expand Down
2 changes: 1 addition & 1 deletion packages/common/http/src/xsrf.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ export const XSRF_HEADER_NAME = new InjectionToken<string>('XSRF_HEADER_NAME');
/**
* Retrieves the current XSRF token to use with the next outgoing request.
*
* @experimental
* @stable
*/
export abstract class HttpXsrfTokenExtractor {
/**
Expand Down
4 changes: 2 additions & 2 deletions packages/common/http/testing/src/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import {TestRequest} from './request';
/**
* Defines a matcher for requests based on URL, method, or both.
*
* @experimental
* @stable
*/
export interface RequestMatch {
method?: string;
Expand All @@ -24,7 +24,7 @@ export interface RequestMatch {
* Controller to be injected into tests, that allows for mocking and flushing
* of requests.
*
* @experimental
* @stable
*/
export abstract class HttpTestingController {
/**
Expand Down
2 changes: 1 addition & 1 deletion packages/common/http/testing/src/backend.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import {TestRequest} from './request';
* requests were made and then flush them. In the end, a verify() method asserts
* that no unexpected requests were made.
*
* @experimental
* @stable
*/
@Injectable()
export class HttpClientTestingBackend implements HttpBackend, HttpTestingController {
Expand Down
2 changes: 1 addition & 1 deletion packages/common/http/testing/src/module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import {HttpClientTestingBackend} from './backend';
*
* Inject `HttpTestingController` to expect and flush requests in your tests.
*
* @experimental
* @stable
*/
@NgModule({
imports: [
Expand Down
2 changes: 1 addition & 1 deletion packages/common/http/testing/src/request.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import {Observer} from 'rxjs/Observer';
* This interface allows access to the underlying `HttpRequest`, and allows
* responding with `HttpEvent`s or `HttpErrorResponse`s.
*
* @experimental
* @stable
*/
export class TestRequest {
/**
Expand Down
2 changes: 1 addition & 1 deletion packages/http/src/backends/browser_xhr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import {Injectable} from '@angular/core';
*
* Take care not to evaluate this in non-browser contexts.
*
* @experimental
* @deprecated use @angular/common/http instead
*/
@Injectable()
export class BrowserXhr {
Expand Down
4 changes: 2 additions & 2 deletions packages/http/src/backends/jsonp_backend.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ const JSONP_ERR_WRONG_METHOD = 'JSONP requests must use GET request method.';
/**
* Abstract base class for an in-flight JSONP request.
*
* @experimental
* @deprecated use @angular/common/http instead
*/
export abstract class JSONPConnection implements Connection {
/**
Expand Down Expand Up @@ -141,7 +141,7 @@ export class JSONPConnection_ extends JSONPConnection {
/**
* A {@link ConnectionBackend} that uses the JSONP strategy of making requests.
*
* @experimental
* @deprecated use @angular/common/http instead
*/
export abstract class JSONPBackend extends ConnectionBackend {}

Expand Down
Loading

1 comment on commit 72c7b6e

@princemaple
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could we have this fixed for ng5? #18424

Please sign in to comment.