What are all the HTTP methods that the router forwards to an API Proxy?

Not applicable

HI,

I was looking for a list of all the HTTP methods that Apigee routers can forward to Apigee Edge API Proxies in the cloud version of the product?

Currently a request with TRACE method gives me the following HTML response which I want to handle more gracefully as a part of my API Proxy,

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html> <head><title>405 Method Not Allowed</title></head> <body bgcolor="white"> <h1>405 Method Not Allowed</h1> <p>The requested method is not allowed for the URL. Sorry for the inconvenience.<br/> Please report this message and include the following information to us.<br/> Thank you very much!</p> <table> <tr> <td>URL:</td> <td>XXXX URL</td> </tr> <tr> <td>Server:</td> <td>rrt018ea</td> </tr> <tr> <td>Date:</td> <td>2015/09/10 14:26:24</td> </tr> </table> <hr/>Powered by apigee-router</body> </html>

thanks

Mallesh

0 6 1,396
6 REPLIES 6

adas
Participant V

@nagamalleswararao.ankemvenkata The allowed methods are defined in the router.properties file of your on-premise installation. You can find it under /opt/apigee4/conf/apigee/router folder on your router machine:

##

# Http methods that are allowed by the router

# defaults = OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, PATCH

##

HTTPServer.methods.allowed=OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, PATCH

If you want to allow or block certain methods, you need to add/remove from this list and restart the routers.

We use cloud version of the Edge where we do not have access to the file system. How can we control in that case. Is there some configuration setting via admin portal?

For cloud, there's no way for you to change this in self-service mode. Also remember that Apigee Edge is a multi-tenant system whereby you might be sharing runtime infra-structure with other customers. We have tuned the configurations for optimum functionality and performance which would suit majority of the customers.

So in our instance TRACE is getting responded with a 405 method not allowed and in the response body there is some html. We would like to take control of handling or rejecting these valid and possible HTTP methods. Is there any way to easily find it out what are all the valid http methods that would be rejected by the router itself with a default html body?

thanks

adas
Participant V

@nagamalleswararao.ankemvenkata If you look at my earlier post, it says:

defaults = OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, PATCH

That is mostly applicable for on-premises. For Apigee EDGE cloud version, we recently rolled out the next generation routers, which only support the following methods:

OPTIONS, GET, HEAD, POST, PUT, DELETE,PATCH

There's no way for you to determine what verbs are supported on the routers. I will check if our docs already covers this, if not then this would be a very good feedback for them to add it so that people can benefit from that. Thanks for bringing it up.

Hello,

I verified with a test that following methods are supported:

OPTIONS, GET, HEAD, POST, PUT, DELETE, PATCH, CONNECT

whereas the TRACE method is still not supported.

You post is 2 years old, so do you confirm that the support for the CONNECT method has been introduced since and that TRACE is still not supported?

Thanks a lot,

Davide