React Storefront

Cloud Management: HTTP Status Codes and Error Handling

HTTP status codes are how the web returns errors from the server to the web browser. If there is an error from your upstream website, the error is simply forwarded by the Moovweb servers to the browser. If there is an error from the Moovweb servers (either in the Moovweb Cloud or in your Moovweb project) Moovweb generates a 53x HTTP status code. When users encounter HTTP errors most often the error comes directly from your upstream host. If the HTTP status code appears in the table below, then the error came from the Moovweb Cloud. The Moovweb error can be in your project code or it can come from Moovweb servers. Refer to the table below for more details on the type and source of the error.

Moovweb-Specific HTTP Status Codes

530Internal Moovweb ErrorUnexpected error in the Moovweb Cloud. Contact Moovweb support.
531Upstream TimeoutTimeout connecting to your upstream website or receiving response from your upstream website. Check your originating website for issues.
532Bad RequestThe received HTTP request is not valid. Check your requesting URL and your project config.
533Engine TimeoutThe engine timed out executing your project code. Check your project code for performance or blocking issues.
534Engine ErrorThere was an error or exception executing your project code. Check the Moovweb Control Center under ‘Debug Logs’ or ‘Stack Traces’ to see the details and update your project code
535Project Fetch ErrorThe HTTP header ‘hostname’ is missing or does not match any active Moovweb project. Check your requesting URL and your project config.
536Access Denied ErrorThe upstream address resolved to an IP that is blocked by a proxy (via ip-blacklist config). Check your project for invalid host or IP address.
537DNS Resolution ErrorThe Moovweb servers received a DNS error when attempting to resolve the upstream hostname. Check your project config and your domain’s DNS setup.
538Request Loop ErrorUser exceeded the maximum level (4) of nested Moovweb requests. “Nested” means a Moovweb site is the upstream of another Moovweb site. Exceeding the limit results in a request loop error, indicating the request’s upstream origin site is itself.
539Worker Transform TimeoutThe JavaScript engine did not respond, usually due to badly handled asynchronous requests in the user’s code.

Error Handling

When running a Moovweb project locally, errors in code are shown to the developer — through the logs, in the browser window, and in the command line.

On the cloud, exceptions are handled slightly differently. For 534 errors, the page is perfect proxied. For non-534 errors, an error message is sent to the user. The error message will have a token that can be used for easy access to the stack trace of the error.

The error message and stack is logged in the console. The pageType of the request, if set in the env namespace, is also logged.