Mock RSS endpoint returning HTTP 504

https://demo-rss-504.supercrontab.com/ answers every request with HTTP 504 Gateway Timeout and a small RSS body. No signup, CORS enabled, nothing logged. Use it to see how your client, retry logic or cron job behaves on a 504 before it happens in production.

Live demo endpoint

https://demo-rss-504.supercrontab.com/

Any method, any path. Returns 504 Gateway Timeout with Content-Type: application/rss+xml. OPTIONS returns 204 with CORS headers.

Call it with curl

curl -i https://demo-rss-504.supercrontab.com/

Call it with fetch

const res = await fetch("https://demo-rss-504.supercrontab.com/");
console.log(res.status); // 504
const body = await res.text();

What HTTP 504 Gateway Timeout means

When you see it
A proxy waited for the upstream app and gave up. The request may or may not have been processed.
What a client should do
Retry only idempotent requests, with backoff. For POSTs use an idempotency key so a retry cannot double-apply.
Retry?
Yes, with backoff

Sample response body

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Mock feed</title>
    <link>https://supercrontab.com/mock/rss</link>
    <description>One item, always the same</description>
    <item>
      <title>Item 42</title>
      <link>https://supercrontab.com/mock/rss/200</link>
      <guid>42</guid>
    </item>
  </channel>
</rss>

A valid RSS 2.0 feed with one item. Point a feed reader or a cron job at it to test polling.

Questions

Does this endpoint really return HTTP 504 every time?

Yes. Every GET, POST, PUT, PATCH or DELETE to https://demo-rss-504.supercrontab.com/ gets status 504 Gateway Timeout with a small RSS body, whatever the path, query or headers. OPTIONS gets 204 with CORS headers so browsers can preflight.

Should my client retry a 504?

Yes, with exponential backoff and a cap on attempts. Retry only idempotent requests, with backoff. For POSTs use an idempotency key so a retry cannot double-apply.

Can I get a different format, a delay or a custom body?

The same status is available in JSON, XML, Text, CSV, HTML, YAML, JavaScript. 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.