mirror of
				https://github.com/microsoft/playwright.git
				synced 2025-06-26 21:40:17 +00:00 
			
		
		
		
	docs: no floating promises in route handlers (#28745)
Fixes https://github.com/microsoft/playwright/issues/28737
This commit is contained in:
		
							parent
							
								
									8161a7401f
								
							
						
					
					
						commit
						db703a98ea
					
				| @ -44,14 +44,14 @@ Continues route's request with optional overrides. | ||||
| **Usage** | ||||
| 
 | ||||
| ```js | ||||
| await page.route('**/*', (route, request) => { | ||||
| await page.route('**/*', async (route, request) => { | ||||
|   // Override headers | ||||
|   const headers = { | ||||
|     ...request.headers(), | ||||
|     foo: 'foo-value', // set "foo" header | ||||
|     bar: undefined, // remove "bar" header | ||||
|   }; | ||||
|   route.continue({ headers }); | ||||
|   await route.continue({ headers }); | ||||
| }); | ||||
| ``` | ||||
| 
 | ||||
| @ -154,17 +154,17 @@ in the end will be aborted by the first registered route. | ||||
| **Usage** | ||||
| 
 | ||||
| ```js | ||||
| await page.route('**/*', route => { | ||||
| await page.route('**/*', async route => { | ||||
|   // Runs last. | ||||
|   route.abort(); | ||||
|   await route.abort(); | ||||
| }); | ||||
| await page.route('**/*', route => { | ||||
| await page.route('**/*', async route => { | ||||
|   // Runs second. | ||||
|   route.fallback(); | ||||
|   await route.fallback(); | ||||
| }); | ||||
| await page.route('**/*', route => { | ||||
| await page.route('**/*', async route => { | ||||
|   // Runs first. | ||||
|   route.fallback(); | ||||
|   await route.fallback(); | ||||
| }); | ||||
| ``` | ||||
| 
 | ||||
| @ -220,9 +220,9 @@ GET requests vs POST requests as in the example below. | ||||
| 
 | ||||
| ```js | ||||
| // Handle GET requests. | ||||
| await page.route('**/*', route => { | ||||
| await page.route('**/*', async route => { | ||||
|   if (route.request().method() !== 'GET') { | ||||
|     route.fallback(); | ||||
|     await route.fallback(); | ||||
|     return; | ||||
|   } | ||||
|   // Handling GET only. | ||||
| @ -230,9 +230,9 @@ await page.route('**/*', route => { | ||||
| }); | ||||
| 
 | ||||
| // Handle POST requests. | ||||
| await page.route('**/*', route => { | ||||
| await page.route('**/*', async route => { | ||||
|   if (route.request().method() !== 'POST') { | ||||
|     route.fallback(); | ||||
|     await route.fallback(); | ||||
|     return; | ||||
|   } | ||||
|   // Handling POST only. | ||||
| @ -330,14 +330,14 @@ One can also modify request while falling back to the subsequent handler, that w | ||||
| route handler can modify url, method, headers and postData of the request. | ||||
| 
 | ||||
| ```js | ||||
| await page.route('**/*', (route, request) => { | ||||
| await page.route('**/*', async (route, request) => { | ||||
|   // Override headers | ||||
|   const headers = { | ||||
|     ...request.headers(), | ||||
|     foo: 'foo-value', // set "foo" header | ||||
|     bar: undefined, // remove "bar" header | ||||
|   }; | ||||
|   route.fallback({ headers }); | ||||
|   await route.fallback({ headers }); | ||||
| }); | ||||
| ``` | ||||
| 
 | ||||
| @ -554,8 +554,8 @@ Fulfills route's request with given response. | ||||
| An example of fulfilling all requests with 404 responses: | ||||
| 
 | ||||
| ```js | ||||
| await page.route('**/*', route => { | ||||
|   route.fulfill({ | ||||
| await page.route('**/*', async route => { | ||||
|   await route.fulfill({ | ||||
|     status: 404, | ||||
|     contentType: 'text/plain', | ||||
|     body: 'Not Found!' | ||||
|  | ||||
							
								
								
									
										32
									
								
								packages/playwright-core/types/types.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										32
									
								
								packages/playwright-core/types/types.d.ts
									
									
									
									
										vendored
									
									
								
							| @ -18824,14 +18824,14 @@ export interface Route { | ||||
|    * **Usage** | ||||
|    * | ||||
|    * ```js
 | ||||
|    * await page.route('**\/*', (route, request) => { | ||||
|    * await page.route('**\/*', async (route, request) => { | ||||
|    *   // Override headers
 | ||||
|    *   const headers = { | ||||
|    *     ...request.headers(), | ||||
|    *     foo: 'foo-value', // set "foo" header
 | ||||
|    *     bar: undefined, // remove "bar" header
 | ||||
|    *   }; | ||||
|    *   route.continue({ headers }); | ||||
|    *   await route.continue({ headers }); | ||||
|    * }); | ||||
|    * ``` | ||||
|    * | ||||
| @ -18875,17 +18875,17 @@ export interface Route { | ||||
|    * **Usage** | ||||
|    * | ||||
|    * ```js
 | ||||
|    * await page.route('**\/*', route => { | ||||
|    * await page.route('**\/*', async route => { | ||||
|    *   // Runs last.
 | ||||
|    *   route.abort(); | ||||
|    *   await route.abort(); | ||||
|    * }); | ||||
|    * await page.route('**\/*', route => { | ||||
|    * await page.route('**\/*', async route => { | ||||
|    *   // Runs second.
 | ||||
|    *   route.fallback(); | ||||
|    *   await route.fallback(); | ||||
|    * }); | ||||
|    * await page.route('**\/*', route => { | ||||
|    * await page.route('**\/*', async route => { | ||||
|    *   // Runs first.
 | ||||
|    *   route.fallback(); | ||||
|    *   await route.fallback(); | ||||
|    * }); | ||||
|    * ``` | ||||
|    * | ||||
| @ -18894,9 +18894,9 @@ export interface Route { | ||||
|    * | ||||
|    * ```js
 | ||||
|    * // Handle GET requests.
 | ||||
|    * await page.route('**\/*', route => { | ||||
|    * await page.route('**\/*', async route => { | ||||
|    *   if (route.request().method() !== 'GET') { | ||||
|    *     route.fallback(); | ||||
|    *     await route.fallback(); | ||||
|    *     return; | ||||
|    *   } | ||||
|    *   // Handling GET only.
 | ||||
| @ -18904,9 +18904,9 @@ export interface Route { | ||||
|    * }); | ||||
|    * | ||||
|    * // Handle POST requests.
 | ||||
|    * await page.route('**\/*', route => { | ||||
|    * await page.route('**\/*', async route => { | ||||
|    *   if (route.request().method() !== 'POST') { | ||||
|    *     route.fallback(); | ||||
|    *     await route.fallback(); | ||||
|    *     return; | ||||
|    *   } | ||||
|    *   // Handling POST only.
 | ||||
| @ -18918,14 +18918,14 @@ export interface Route { | ||||
|    * modify url, method, headers and postData of the request. | ||||
|    * | ||||
|    * ```js
 | ||||
|    * await page.route('**\/*', (route, request) => { | ||||
|    * await page.route('**\/*', async (route, request) => { | ||||
|    *   // Override headers
 | ||||
|    *   const headers = { | ||||
|    *     ...request.headers(), | ||||
|    *     foo: 'foo-value', // set "foo" header
 | ||||
|    *     bar: undefined, // remove "bar" header
 | ||||
|    *   }; | ||||
|    *   route.fallback({ headers }); | ||||
|    *   await route.fallback({ headers }); | ||||
|    * }); | ||||
|    * ``` | ||||
|    * | ||||
| @ -19019,8 +19019,8 @@ export interface Route { | ||||
|    * An example of fulfilling all requests with 404 responses: | ||||
|    * | ||||
|    * ```js
 | ||||
|    * await page.route('**\/*', route => { | ||||
|    *   route.fulfill({ | ||||
|    * await page.route('**\/*', async route => { | ||||
|    *   await route.fulfill({ | ||||
|    *     status: 404, | ||||
|    *     contentType: 'text/plain', | ||||
|    *     body: 'Not Found!' | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Yury Semikhatsky
						Yury Semikhatsky