Mock JavaScript endpoint returning HTTP 500
https://demo-js-500.supercrontab.com/ answers every request with HTTP 500 Internal Server Error and a small JavaScript body. No signup, CORS enabled, nothing logged. Use it to see how your client, retry logic or cron job behaves on a 500 before it happens in production.
Live demo endpoint
Any method, any path. Returns 500 Internal Server Error with Content-Type: application/javascript. OPTIONS returns 204 with CORS headers.
Call it with curl
curl -i https://demo-js-500.supercrontab.com/
Call it with fetch
const res = await fetch("https://demo-js-500.supercrontab.com/");
console.log(res.status); // 500
const body = await res.text();What HTTP 500 Internal Server Error means
- When you see it
- The server crashed while handling the request: an unhandled exception, a bug or a dependency that failed.
- What a client should do
- Retry once after a short delay for idempotent requests. Alert if it keeps happening, it is a server bug.
- Retry?
- Once, after a delay
Sample response body
console.log("ok")A script body with the application/javascript type. Test script loaders, CDNs and MIME checks.
Questions
Does this endpoint really return HTTP 500 every time?
Yes. Every GET, POST, PUT, PATCH or DELETE to https://demo-js-500.supercrontab.com/ gets status 500 Internal Server Error with a small JavaScript body, whatever the path, query or headers. OPTIONS gets 204 with CORS headers so browsers can preflight.
Should my client retry a 500?
Only after a delay, and only for idempotent requests. Retry once after a short delay for idempotent requests. Alert if it keeps happening, it is a server bug.
Can I get a different format, a delay or a custom body?
The same status is available in JSON, XML, Text, CSV, HTML, YAML, RSS. Delays, custom headers, error rates, request logging and your own body need a personal endpoint: sign up and create one at /endpoints in a minute, free.