Rocket should show 405 instead of 404 for method not allowed

Created on 8 Feb 2020  路  1Comment  路  Source: SergioBenitez/Rocket

Hi.

Consider the following route:

#[post("/hello")]
pub fn hello() -> &'static str {
    "Hello"
}

now, if you call it with:

curl http://localhost:8000/hello

it returns:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>404 Not Found</title>
  </head>
  <body align="center">
    <div align="center">
      <h1>404: Not Found</h1>
      <p>The requested resource could not be found.</p>
      <hr />
      <small>Rocket</small>
    </div>
  </body>
</html>

however, since the passed URL is correct and only the method (verb) is wrong, according to rfc7231#section-6.5.5, it should return 405: Method Not Allowed with an Allow header field in a 405 response containing a list of the target resource's currently supported methods.

So, if you don't agree with that, could you provide a global option to send 405 instead of 404 for handling method not allowed errors?

TIA

request

Most helpful comment

From https://tools.ietf.org/html/rfc7231#section-4.1:

When a request method is received that is known by an origin
server but not allowed for the target resource, the origin server
SHOULD respond with the 405 (Method Not Allowed) status code.

I sounds like a good idea to default to 405 instead of 404, then - and applications that want a 404 can add a 405 catcher that returns a 404.

>All comments

From https://tools.ietf.org/html/rfc7231#section-4.1:

When a request method is received that is known by an origin
server but not allowed for the target resource, the origin server
SHOULD respond with the 405 (Method Not Allowed) status code.

I sounds like a good idea to default to 405 instead of 404, then - and applications that want a 404 can add a 405 catcher that returns a 404.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

paulvt picture paulvt  路  4Comments

loothood picture loothood  路  4Comments

GoRustafari picture GoRustafari  路  3Comments

lambda-fairy picture lambda-fairy  路  4Comments

marcusball picture marcusball  路  3Comments