From 94170dacbd33d02c644fc69131edb1e92edf85a6 Mon Sep 17 00:00:00 2001 From: Pavel Feldman Date: Thu, 2 Sep 2021 11:46:52 -0700 Subject: [PATCH] chore: rename rawHeaders to allHeaders (#8659) --- docs/src/api/class-headers.md | 2 +- docs/src/api/class-request.md | 12 +++++----- docs/src/api/class-response.md | 12 +++++----- src/client/network.ts | 6 ++--- tests/page/page-network-request.spec.ts | 10 ++++----- types/types.d.ts | 29 +++++++++++++------------ 6 files changed, 36 insertions(+), 35 deletions(-) diff --git a/docs/src/api/class-headers.md b/docs/src/api/class-headers.md index 50525db2a0..df0adca001 100644 --- a/docs/src/api/class-headers.md +++ b/docs/src/api/class-headers.md @@ -1,6 +1,6 @@ # class: Headers -HTTP request and response raw headers collection. +HTTP request and response all headers collection. ## method: Headers.get - returns: <[string|null]> diff --git a/docs/src/api/class-request.md b/docs/src/api/class-request.md index 3a909b280d..358554ef8a 100644 --- a/docs/src/api/class-request.md +++ b/docs/src/api/class-request.md @@ -16,6 +16,11 @@ with `'requestfinished'` event. If request gets a 'redirect' response, the request is successfully finished with the 'requestfinished' event, and a new request is issued to a redirected url. +## async method: Request.allHeaders +- returns: <[Headers]> + +An object with all the request HTTP headers associated with this request. + ## method: Request.failure - returns: <[null]|[string]> @@ -54,7 +59,7 @@ Returns the [Frame] that initiated this request. ## method: Request.headers - returns: <[Object]<[string], [string]>> -**DEPRECATED** Use [`method: Request.rawHeaders`] instead. +**DEPRECATED** Incomplete list of headers as seen by the rendering engine. Use [`method: Request.allHeaders`] instead. ## method: Request.isNavigationRequest - returns: <[boolean]> @@ -85,11 +90,6 @@ Returns parsed request's body for `form-urlencoded` and JSON as a fallback if an When the response is `application/x-www-form-urlencoded` then a key/value object of the values will be returned. Otherwise it will be parsed as JSON. -## async method: Request.rawHeaders -- returns: <[Headers]> - -An object with the raw request HTTP headers associated with the request. All headers are as seen in the network stack. - ## method: Request.redirectedFrom - returns: <[null]|[Request]> diff --git a/docs/src/api/class-response.md b/docs/src/api/class-response.md index 7bff9f63ca..08f4477922 100644 --- a/docs/src/api/class-response.md +++ b/docs/src/api/class-response.md @@ -2,6 +2,11 @@ [Response] class represents responses which are received by page. +## async method: Response.allHeaders +- returns: <[Headers]> + +An object with all the response HTTP headers associated with this response. + ## async method: Response.body - returns: <[Buffer]> @@ -20,7 +25,7 @@ Returns the [Frame] that initiated this response. ## method: Response.headers - returns: <[Object]<[string], [string]>> -**DEPRECATED** Use [`method: Response.rawHeaders`] instead. +**DEPRECATED** Incomplete list of headers as seen by the rendering engine. Use [`method: Response.allHeaders`] instead. ## async method: Response.json * langs: js, python @@ -43,11 +48,6 @@ This method will throw if the response body is not parsable via `JSON.parse`. Contains a boolean stating whether the response was successful (status in the range 200-299) or not. -## async method: Response.rawHeaders -- returns: <[Headers]> - -An object with the raw response HTTP headers associated with the request. All headers are as seen in the network stack. - ## method: Response.request - returns: <[Request]> diff --git a/src/client/network.ts b/src/client/network.ts index 40367cf901..11a7c8ba01 100644 --- a/src/client/network.ts +++ b/src/client/network.ts @@ -139,7 +139,7 @@ export class Request extends ChannelOwner { + async allHeaders(): Promise { if (this._rawHeadersPromise) return this._rawHeadersPromise; this._rawHeadersPromise = this.response().then(response => { @@ -254,7 +254,7 @@ export class InterceptedResponse implements api.Response { return { ...this._headers }; } - async rawHeaders(): Promise { + async allHeaders(): Promise { return this._rawHeaders; } @@ -454,7 +454,7 @@ export class Response extends ChannelOwner { + async allHeaders(): Promise { if (this._rawHeadersPromise) return this._rawHeadersPromise; this._rawHeadersPromise = this._wrapApiCall(async (channel: channels.ResponseChannel) => { diff --git a/tests/page/page-network-request.spec.ts b/tests/page/page-network-request.spec.ts index 57bbe44ca8..1046650e75 100644 --- a/tests/page/page-network-request.spec.ts +++ b/tests/page/page-network-request.spec.ts @@ -89,7 +89,7 @@ it('should get the same headers as the server', async ({ page, server, browserNa response.end('done'); }); const response = await page.goto(server.PREFIX + '/empty.html'); - const headers = await response.request().rawHeaders(); + const headers = await response.request().allHeaders(); const result = {}; for (const header of headers.headers()) result[header.name.toLowerCase()] = header.value; @@ -113,7 +113,7 @@ it('should get the same headers as the server CORS', async ({page, server, brows }, server.CROSS_PROCESS_PREFIX + '/something'); expect(text).toBe('done'); const response = await responsePromise; - const headers = await response.request().rawHeaders(); + const headers = await response.request().allHeaders(); const result = {}; for (const header of headers.headers()) result[header.name.toLowerCase()] = header.value; @@ -275,12 +275,12 @@ it('should return navigation bit when navigating to image', async ({page, server it('should report raw headers', async ({ page, server, browserName }) => { const response = await page.goto(server.EMPTY_PAGE); - const requestHeaders = await response.request().rawHeaders(); + const requestHeaders = await response.request().allHeaders(); expect(requestHeaders.headerNames().map(h => h.toLowerCase())).toContain('accept'); expect(requestHeaders.getAll('host')).toHaveLength(1); expect(requestHeaders.get('host')).toBe(`localhost:${server.PORT}`); - const responseHeaders = await response.rawHeaders(); + const responseHeaders = await response.allHeaders(); expect(responseHeaders.headerNames().map(h => h.toLowerCase())).toContain('content-type'); expect(responseHeaders.getAll('content-type')).toHaveLength(1); expect(responseHeaders.get('content-type')).toBe('text/html; charset=utf-8'); @@ -303,7 +303,7 @@ it('should report raw response headers in redirects', async ({ page, server, bro for (let req = response.request(); req; req = req.redirectedFrom()) { redirectChain.unshift(req.url()); const res = await req.response(); - const headers = await res.rawHeaders(); + const headers = await res.allHeaders(); headersChain.unshift(headers.get('sec-test-header')); } diff --git a/types/types.d.ts b/types/types.d.ts index 7e9880e472..f9da8ce9f7 100644 --- a/types/types.d.ts +++ b/types/types.d.ts @@ -12662,7 +12662,7 @@ export interface FileChooser { } /** - * HTTP request and response raw headers collection. + * HTTP request and response all headers collection. */ export interface Headers { /** @@ -13017,6 +13017,11 @@ export interface Mouse { * request is issued to a redirected url. */ export interface Request { + /** + * An object with all the request HTTP headers associated with this request. + */ + allHeaders(): Promise; + /** * The method returns `null` unless this request has failed, as reported by `requestfailed` event. * @@ -13042,7 +13047,8 @@ export interface Request { frame(): Frame; /** - * **DEPRECATED** Use [request.rawHeaders()](https://playwright.dev/docs/api/class-request#request-raw-headers) instead. + * **DEPRECATED** Incomplete list of headers as seen by the rendering engine. Use + * [request.allHeaders()](https://playwright.dev/docs/api/class-request#request-all-headers) instead. * @deprecated */ headers(): { [key: string]: string; }; @@ -13075,11 +13081,6 @@ export interface Request { */ postDataJSON(): null|any; - /** - * An object with the raw request HTTP headers associated with the request. All headers are as seen in the network stack. - */ - rawHeaders(): Promise; - /** * Request that was redirected by the server to this one, if any. * @@ -13239,6 +13240,11 @@ export interface Request { * [Response] class represents responses which are received by page. */ export interface Response { + /** + * An object with all the response HTTP headers associated with this response. + */ + allHeaders(): Promise; + /** * Returns the buffer with response body. */ @@ -13255,8 +13261,8 @@ export interface Response { frame(): Frame; /** - * **DEPRECATED** Use [response.rawHeaders()](https://playwright.dev/docs/api/class-response#response-raw-headers) - * instead. + * **DEPRECATED** Incomplete list of headers as seen by the rendering engine. Use + * [response.allHeaders()](https://playwright.dev/docs/api/class-response#response-all-headers) instead. * @deprecated */ headers(): { [key: string]: string; }; @@ -13273,11 +13279,6 @@ export interface Response { */ ok(): boolean; - /** - * An object with the raw response HTTP headers associated with the request. All headers are as seen in the network stack. - */ - rawHeaders(): Promise; - /** * Returns the matching [Request] object. */