docs: fix various typos (#37443)
This change just fixes various typos and misspellings across several docs. I've included also a fix for an issue surfaced via #37423. Closes #37423 PR Close #37443
This commit is contained in:
parent
4e7a4543b8
commit
eb6ba9ac80
|
@ -67,9 +67,6 @@ var_10: &only_on_master
|
||||||
# **NOTE 1**: Pin to exact images using an ID (SHA). See https://circleci.com/docs/2.0/circleci-images/#using-a-docker-image-id-to-pin-an-image-to-a-fixed-version.
|
# **NOTE 1**: Pin to exact images using an ID (SHA). See https://circleci.com/docs/2.0/circleci-images/#using-a-docker-image-id-to-pin-an-image-to-a-fixed-version.
|
||||||
# (Using the tag in not necessary when pinning by ID, but include it anyway for documentation purposes.)
|
# (Using the tag in not necessary when pinning by ID, but include it anyway for documentation purposes.)
|
||||||
# **NOTE 2**: If you change the version of the docker images, also change the `cache_key` suffix.
|
# **NOTE 2**: If you change the version of the docker images, also change the `cache_key` suffix.
|
||||||
# **NOTE 3**: If you change the version of the `*-browsers` docker image, make sure the
|
|
||||||
# `--versions.chrome` arg in `integration/bazel-schematics/test.sh` specifies a
|
|
||||||
# ChromeDriver version that is compatible with the Chrome version in the image.
|
|
||||||
executors:
|
executors:
|
||||||
default-executor:
|
default-executor:
|
||||||
parameters:
|
parameters:
|
||||||
|
@ -120,7 +117,7 @@ commands:
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
# Install GTK+ graphical user interface (libgtk-3-0), advanced linux sound architecture (libasound2)
|
# Install GTK+ graphical user interface (libgtk-3-0), advanced linux sound architecture (libasound2)
|
||||||
# and network security service libraries (libnss3) & X11 Screen Saver extension library (libssx1)
|
# and network security service libraries (libnss3) & X11 Screen Saver extension library (libssx1)
|
||||||
# which are dependendies of chrome & needed for karma & protractor headless chrome tests.
|
# which are dependencies of chrome & needed for karma & protractor headless chrome tests.
|
||||||
# This is a very small install which takes around 7s in comparing to using the full
|
# This is a very small install which takes around 7s in comparing to using the full
|
||||||
# circleci/node:x.x.x-browsers image.
|
# circleci/node:x.x.x-browsers image.
|
||||||
sudo apt-get -y install libgtk-3-0 libasound2 libnss3 libxss1
|
sudo apt-get -y install libgtk-3-0 libasound2 libnss3 libxss1
|
||||||
|
@ -163,7 +160,7 @@ commands:
|
||||||
description: Sets up a domain that resolves to the local host.
|
description: Sets up a domain that resolves to the local host.
|
||||||
steps:
|
steps:
|
||||||
- run:
|
- run:
|
||||||
name: Preparing environment for running tests on Saucelabs.
|
name: Preparing environment for running tests on Sauce Labs.
|
||||||
command: |
|
command: |
|
||||||
# For SauceLabs jobs, we set up a domain which resolves to the machine which launched
|
# For SauceLabs jobs, we set up a domain which resolves to the machine which launched
|
||||||
# the tunnel. We do this because devices are sometimes not able to properly resolve
|
# the tunnel. We do this because devices are sometimes not able to properly resolve
|
||||||
|
@ -175,13 +172,13 @@ commands:
|
||||||
setSecretVar SAUCE_ACCESS_KEY $(echo $SAUCE_ACCESS_KEY | rev)
|
setSecretVar SAUCE_ACCESS_KEY $(echo $SAUCE_ACCESS_KEY | rev)
|
||||||
- run:
|
- run:
|
||||||
# Sets up a local domain in the machine's host file that resolves to the local
|
# Sets up a local domain in the machine's host file that resolves to the local
|
||||||
# host. This domain is helpful in Saucelabs tests where devices are not able to
|
# host. This domain is helpful in Sauce Labs tests where devices are not able to
|
||||||
# properly resolve `localhost` or `127.0.0.1` through the sauce-connect tunnel.
|
# properly resolve `localhost` or `127.0.0.1` through the sauce-connect tunnel.
|
||||||
name: Setting up alias domain for local host.
|
name: Setting up alias domain for local host.
|
||||||
command: echo "127.0.0.1 $SAUCE_LOCALHOST_ALIAS_DOMAIN" | sudo tee -a /etc/hosts
|
command: echo "127.0.0.1 $SAUCE_LOCALHOST_ALIAS_DOMAIN" | sudo tee -a /etc/hosts
|
||||||
|
|
||||||
# Normally this would be an individual job instead of a command.
|
# Normally this would be an individual job instead of a command.
|
||||||
# But startup and setup time for each invidual windows job are high enough to discourage
|
# But startup and setup time for each individual windows job are high enough to discourage
|
||||||
# many small jobs, so instead we use a command for setup unless the gain becomes significant.
|
# many small jobs, so instead we use a command for setup unless the gain becomes significant.
|
||||||
setup_win:
|
setup_win:
|
||||||
description: Setup windows node environment
|
description: Setup windows node environment
|
||||||
|
@ -599,8 +596,8 @@ jobs:
|
||||||
- run:
|
- run:
|
||||||
name: Decrypt github credentials
|
name: Decrypt github credentials
|
||||||
# We need ensure that the same default digest is used for encoding and decoding with
|
# We need ensure that the same default digest is used for encoding and decoding with
|
||||||
# openssl. Openssl versions might have different default digests which can cause
|
# OpenSSL. OpenSSL versions might have different default digests which can cause
|
||||||
# decryption failures based on the installed openssl version. https://stackoverflow.com/a/39641378/4317734
|
# decryption failures based on the installed OpenSSL version. https://stackoverflow.com/a/39641378/4317734
|
||||||
command: 'openssl aes-256-cbc -d -in .circleci/github_token -md md5 -k "${KEY}" -out ~/.git_credentials'
|
command: 'openssl aes-256-cbc -d -in .circleci/github_token -md md5 -k "${KEY}" -out ~/.git_credentials'
|
||||||
- run: ./scripts/ci/publish-build-artifacts.sh
|
- run: ./scripts/ci/publish-build-artifacts.sh
|
||||||
|
|
||||||
|
|
|
@ -13,13 +13,13 @@ import { searchUrl } from '../package-search/package-search.service';
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If request is cachable (e.g., package search) and
|
* If request is cacheable (e.g., package search) and
|
||||||
* response is in cache return the cached response as observable.
|
* response is in cache return the cached response as observable.
|
||||||
* If has 'x-refresh' header that is true,
|
* If has 'x-refresh' header that is true,
|
||||||
* then also re-run the package search, using response from next(),
|
* then also re-run the package search, using response from next(),
|
||||||
* returning an observable that emits the cached response first.
|
* returning an observable that emits the cached response first.
|
||||||
*
|
*
|
||||||
* If not in cache or not cachable,
|
* If not in cache or not cacheable,
|
||||||
* pass request through to next()
|
* pass request through to next()
|
||||||
*/
|
*/
|
||||||
// #docregion v1
|
// #docregion v1
|
||||||
|
@ -28,8 +28,8 @@ export class CachingInterceptor implements HttpInterceptor {
|
||||||
constructor(private cache: RequestCache) {}
|
constructor(private cache: RequestCache) {}
|
||||||
|
|
||||||
intercept(req: HttpRequest<any>, next: HttpHandler) {
|
intercept(req: HttpRequest<any>, next: HttpHandler) {
|
||||||
// continue if not cachable.
|
// continue if not cacheable.
|
||||||
if (!isCachable(req)) { return next.handle(req); }
|
if (!isCacheable(req)) { return next.handle(req); }
|
||||||
|
|
||||||
const cachedResponse = this.cache.get(req);
|
const cachedResponse = this.cache.get(req);
|
||||||
// #enddocregion v1
|
// #enddocregion v1
|
||||||
|
@ -51,11 +51,11 @@ export class CachingInterceptor implements HttpInterceptor {
|
||||||
// #enddocregion v1
|
// #enddocregion v1
|
||||||
|
|
||||||
|
|
||||||
/** Is this request cachable? */
|
/** Is this request cacheable? */
|
||||||
function isCachable(req: HttpRequest<any>) {
|
function isCacheable(req: HttpRequest<any>) {
|
||||||
// Only GET requests are cachable
|
// Only GET requests are cacheable
|
||||||
return req.method === 'GET' &&
|
return req.method === 'GET' &&
|
||||||
// Only npm package search is cachable in this app
|
// Only npm package search is cacheable in this app
|
||||||
-1 < req.url.indexOf(searchUrl);
|
-1 < req.url.indexOf(searchUrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Communicating with backend services using HTTP
|
# Communicating with backend services using HTTP
|
||||||
|
|
||||||
Most front-end applications need to communicate with a server over the HTTP protocol, in order to download or upload data and accesss other back-end services.
|
Most front-end applications need to communicate with a server over the HTTP protocol, in order to download or upload data and access other back-end services.
|
||||||
Angular provides a simplified client HTTP API for Angular applications, the `HttpClient` service class in `@angular/common/http`.
|
Angular provides a simplified client HTTP API for Angular applications, the `HttpClient` service class in `@angular/common/http`.
|
||||||
|
|
||||||
The HTTP client service offers the following major features.
|
The HTTP client service offers the following major features.
|
||||||
|
@ -63,7 +63,7 @@ Look at the `AppModule` _imports_ to see how it is configured.
|
||||||
## Requesting data from a server
|
## Requesting data from a server
|
||||||
|
|
||||||
Use the [`HTTPClient.get()`](api/common/http/HttpClient#get) method to fetch data from a server.
|
Use the [`HTTPClient.get()`](api/common/http/HttpClient#get) method to fetch data from a server.
|
||||||
The aynchronous method sends an HTTP request, and returns an Observable that emits the requested data when the response is received.
|
The asynchronous method sends an HTTP request, and returns an Observable that emits the requested data when the response is received.
|
||||||
The return type varies based on the `observe` and `responseType` values that you pass to the call.
|
The return type varies based on the `observe` and `responseType` values that you pass to the call.
|
||||||
|
|
||||||
The `get()` method takes two arguments; the endpoint URL from which to fetch, and an *options* object that you can use to configure the request.
|
The `get()` method takes two arguments; the endpoint URL from which to fetch, and an *options* object that you can use to configure the request.
|
||||||
|
@ -805,16 +805,16 @@ The `CachingInterceptor` in the following example demonstrates this approach.
|
||||||
header="app/http-interceptors/caching-interceptor.ts)">
|
header="app/http-interceptors/caching-interceptor.ts)">
|
||||||
</code-example>
|
</code-example>
|
||||||
|
|
||||||
* The `isCachable()` function determines if the request is cachable.
|
* The `isCacheable()` function determines if the request is cacheable.
|
||||||
In this sample, only GET requests to the npm package search api are cachable.
|
In this sample, only GET requests to the npm package search api are cacheable.
|
||||||
|
|
||||||
* If the request is not cachable, the interceptor simply forwards the request
|
* If the request is not cacheable, the interceptor simply forwards the request
|
||||||
to the next handler in the chain.
|
to the next handler in the chain.
|
||||||
|
|
||||||
* If a cachable request is found in the cache, the interceptor returns an `of()` _observable_ with
|
* If a cacheable request is found in the cache, the interceptor returns an `of()` _observable_ with
|
||||||
the cached response, by-passing the `next` handler (and all other interceptors downstream).
|
the cached response, by-passing the `next` handler (and all other interceptors downstream).
|
||||||
|
|
||||||
* If a cachable request is not in cache, the code calls `sendRequest()`.
|
* If a cacheable request is not in cache, the code calls `sendRequest()`.
|
||||||
This function creates a [request clone](#immutability) without headers, because the npm API forbids them.
|
This function creates a [request clone](#immutability) without headers, because the npm API forbids them.
|
||||||
The function then forwards the clone of the request to `next.handle()` which ultimately calls the server and returns the server's response.
|
The function then forwards the clone of the request to `next.handle()` which ultimately calls the server and returns the server's response.
|
||||||
|
|
||||||
|
|
|
@ -107,7 +107,7 @@ Notice that all of the files the browser needs to render this application are ca
|
||||||
<div class="alert is-helpful">
|
<div class="alert is-helpful">
|
||||||
Pay attention to two key points:
|
Pay attention to two key points:
|
||||||
|
|
||||||
1. The generated `ngsw-config.json` includes a limited list of cachable fonts and images extentions. In some cases, you might want to modify the glob pattern to suit your needs.
|
1. The generated `ngsw-config.json` includes a limited list of cacheable fonts and images extentions. In some cases, you might want to modify the glob pattern to suit your needs.
|
||||||
|
|
||||||
1. If `resourcesOutputPath` or `assets` paths are modified after the generation of configuration file, you need to change the paths manually in `ngsw-config.json`.
|
1. If `resourcesOutputPath` or `assets` paths are modified after the generation of configuration file, you need to change the paths manually in `ngsw-config.json`.
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue