Go to file
Alex Rickabaugh 120bdeecdc fix(common): allow HttpInterceptors to inject HttpClient (#19809)
Previously, an interceptor attempting to inject HttpClient directly
would receive a circular dependency error, as HttpClient was
constructed via a factory which injected the interceptor instances.
Users want to inject HttpClient into interceptors to make supporting
requests (ex: to retrieve an authentication token). Currently this is
only possible by injecting the Injector and using it to resolve
HttpClient at request time.

Either HttpClient or the user has to deal specially with the circular
dependency. This change moves that responsibility into HttpClient
itself. By utilizing a new class HttpInterceptingHandler which lazily
loads the set of interceptors at request time, it's possible to inject
HttpClient directly into interceptors as construction of HttpClient no
longer requires the interceptor chain to be constructed.

Fixes #18224.

PR Close #19809
2018-01-29 16:12:32 -08:00
.circleci build: Remove angular_src nested workspace (#21096) 2018-01-19 10:17:37 -08:00
.github ci: add github bot config to triage issues (#21672) 2018-01-19 20:39:58 -08:00
aio fix(aio): missing plural s in preserveWhiteSpaces example (#21854) 2018-01-29 11:35:13 -08:00
docs docs: document debugging a Node test in VSCode/Bazel (#21868) 2018-01-29 16:11:09 -08:00
integration perf(ivy): use buildOptimizer in hello_world__render3__rollup integration test (#21744) 2018-01-29 11:35:51 -08:00
modules refactor(ivy): move onDestroys out of cleanup (#21650) 2018-01-24 22:14:33 -08:00
packages fix(common): allow HttpInterceptors to inject HttpClient (#19809) 2018-01-29 16:12:32 -08:00
scripts build: merge-pr now checks that PR status is green before proceeding (#21810) 2018-01-26 14:50:41 -08:00
tools feat(router): add navigationSource and restoredState to NavigationStart event (#21728) 2018-01-29 10:22:59 -08:00
.bowerrc chore(dgeni): clean up legacy typings bundle creation 2015-10-29 21:19:59 +00:00
.clang-format feat(tooling): Add a .clang-format for automated JavaScript formatting. 2015-04-02 08:44:34 -07:00
.editorconfig chore(.editorconfig): include markdown config 2015-01-27 00:14:48 -08:00
.gitattributes chore: force lf EOL for ts files (#11143) 2016-08-29 12:41:58 -07:00
.gitignore build(common): extract i18n locale data from cldr (#18284) 2017-08-22 15:43:04 -05:00
.mailmap build: add a Git .mailmap with my new name (#19550) 2017-10-09 14:35:30 -07:00
.nvmrc build: update node version number in .nvmrc (#20832) 2017-12-12 11:56:18 -08:00
.pullapprove.yml build: add mhevery to bazel approvers (#21314) 2018-01-17 17:02:22 -08:00
.travis.yml ci: use `sudo: false` on Travis (#21641) 2018-01-19 13:23:47 -08:00
BUILD.bazel build: update to latest bazel rules (#21821) 2018-01-27 10:55:44 -08:00
CHANGELOG.md docs: add changelog for 6.0.0-beta.1 2018-01-24 22:01:19 -08:00
CONTRIBUTING.md docs: add notes on email used for CLA (#21754) 2018-01-26 10:28:18 -08:00
LICENSE docs(common): update copyright years (#21232) 2018-01-04 17:45:36 -05:00
README.md docs: remove broken issuestats.com badges (#21334) 2018-01-05 14:43:18 -05:00
WORKSPACE build: update to latest bazel rules (#21821) 2018-01-27 10:55:44 -08:00
bower.json docs: branding fixes (#14132) 2017-01-27 15:03:11 -06:00
browser-providers.conf.js build: remove required BrowserStack run as it fails with “Access denied” (#19769) 2017-10-17 15:51:40 -07:00
build.sh build: Remove angular_src nested workspace (#21096) 2018-01-19 10:17:37 -08:00
gulpfile.js test(packaging): added test for source map correctness 2017-09-12 16:59:32 -04:00
karma-js.conf.js feat(compiler): implement "enableIvy" compiler option (#21427) 2018-01-18 18:22:44 -06:00
package.json release: cut the 6.0.0-beta.1 release 2018-01-24 21:58:09 -08:00
protractor-e2e.conf.js refactor: add license header to JS files & format files (#12081) 2016-10-04 20:39:20 -07:00
protractor-examples-e2e.conf.js refactor: format and lint code 2016-12-12 11:30:25 -08:00
protractor-perf.conf.js refactor: add license header to JS files & format files (#12081) 2016-10-04 20:39:20 -07:00
shims_for_IE.js Revert "refactor: add license header to JS files & format files (#12035)" 2016-10-04 14:06:41 -07:00
test-events.js fix(platform-browser): run BLACK_LISTED_EVENTS outside of ngZone (#18993) 2017-09-05 15:33:22 -05:00
test-main.js build: add bazel test rules for remainder of packages (#21053) 2017-12-22 13:10:51 -08:00
test.sh build: remove references to `tsc-wrapped` (#19298) 2017-09-21 13:55:52 -07:00
tslint.json build: add lint rule for global flags in rollup config (#20028) 2017-10-30 23:09:16 -04:00
yarn.lock build: upgrade to TypeScript 2.6 (#21144) 2017-12-22 20:15:47 -08:00
yarn.lock.readme.md build: switch from npm to yarn (#19328) 2017-09-22 13:20:52 -07:00

README.md

Build Status CircleCI BrowserStack Status Join the chat at https://gitter.im/angular/angular npm version

Sauce Test Status

Safari (7+), iOS (7+) and IE mobile (11) are tested on BrowserStack.

Angular

Angular is a development platform for building mobile and desktop web applications using Typescript/JavaScript and other languages.

Quickstart

Get started in 5 minutes.

Want to help?

Want to file a bug, contribute some code, or improve documentation? Excellent! Read up on our guidelines for contributing and then check out one of our issues in the hotlist: community-help.