Allow POST requests from public user for specific URLs#679
Conversation
|
To demonstrate the original issue, the following requests can be executed after authenticating into OMERO.web using the Console tab of the Developer tools. They should return the first four cells (2 rows, 2 columns) of a table:
Executing the same request against a table in a public OMERO.web instance deployed with the default The ability to slice the table using POST request is critical when slicing large table using large numbers of rows/columns. While GET requests are typically restricted by the maximum URL length, the body sent via a POST request has a larger upper limit. With this code, the expectation is to support the GET and POST requests to the |
With the introduction of the table slice call in #564, the option to use
POSTrequests (in addition toGET) was included to allow for large number of rows to be fetched in one request.GETrequests are limited by the maximum length of URIs.An issue not previously considered is when
omero.web.public.enabledis enabled in combination withomero.web.public.get_only. In that case there is no way to usePOSTfor the table slice call. AllPOSTrequests would have to be allowed.This PR proposes a new setting to selectively allow
POSTfor some URLs, similar to how a set of URLs can be enabled for public mode.Example:
This may not be the best or simplest approach, any thoughts or ideas on how else we could approach this? @will-moore @sbesson @jburel