67 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Overview - HTTP Status Codes
 | |
| 
 | |
| 
 | |
| This is a list of all the possible HTTP status codes returned by the nginx anf upload servers, along
 | |
| with a bried explanation of what they mean:
 | |
| 
 | |
| 
 | |
| ## `http://*.ngbuilds.io/*`
 | |
| 
 | |
| - **307 (Temporary Redirect)**:
 | |
|   All non-HTTPS requests. 308 (Permanent Redirect) would be more appropriate, but is not supported
 | |
|   by all agents (e.g. cURL).
 | |
| 
 | |
| 
 | |
| ## `https://pr<pr>-<sha>.ngbuilds.io/*`
 | |
| 
 | |
| - **200 (OK)**:
 | |
|   File was found or URL was rewritten to `/index.html` (i.e. all paths that have no `.` in final
 | |
|   segment).
 | |
| 
 | |
| - **403 (Forbidden)**:
 | |
|   Trying to access a sub-directory.
 | |
| 
 | |
| - **404 (Not Found)**:
 | |
|   File not found.
 | |
| 
 | |
| 
 | |
| ## `https://ngbuilds.io/create-build/<pr>/<sha>`
 | |
| 
 | |
| - **201 (Created)**:
 | |
|   Build deployed successfully and is publicly available.
 | |
| 
 | |
| - **202 (Accepted)**:
 | |
|   Build not automatically verifiable. Stored for later deployment (after re-verification).
 | |
| 
 | |
| - **400 (Bad Request)**:
 | |
|   No payload.
 | |
| 
 | |
| - **401 (Unauthorized)**:
 | |
|   No `AUTHORIZATION` header.
 | |
| 
 | |
| - **403 (Forbidden)**:
 | |
|   Unable to verify build (e.g. invalid JWT token, or unable to talk to 3rd-party APIs, etc).
 | |
| 
 | |
| - **404 (Not Found)**:
 | |
|   Tried to change PR visibility but the source directory did not exist.
 | |
|   (Currently, this can only happen as a rare race condition during build deployment.)
 | |
| 
 | |
| - **405 (Method Not Allowed)**:
 | |
|   Request method other than POST.
 | |
| 
 | |
| - **409 (Conflict)**:
 | |
|   Request to overwrite existing directory (e.g. deploy existing build or change PR visibility when
 | |
|   the destination directory does already exist).
 | |
| 
 | |
| - **413 (Payload Too Large)**:
 | |
|   Payload larger than size specified in `AIO_UPLOAD_MAX_SIZE`.
 | |
| 
 | |
| 
 | |
| ## `https://*.ngbuilds.io/*`
 | |
| 
 | |
| - **404 (Not Found)**:
 | |
|   Request not matched by the above rules.
 | |
| 
 | |
| - **500 (Internal Server Error)**:
 | |
|   Error while processing a request matched by the above rules.
 |