Hi list,

I'm making my first steps with RESTlet. I have a server resource I want to
access with GET, since it is a query with no state change on that resource.
However to address this resource, I have to send a complex and big parameter
structure.

This structure is complex, there is no way to transform it into a path-form
I could use and route the request (or use the {template} mechanism in the
router). Same answer for a name=value type query string. It's a complex
hierarchical structure with arrays, assoc arrays, etc, not a simple flat
name=value thing.

This structure is potentially big (actually it's even more than one, but
most are optional). This means that it can easily violate the standard
length restriction on GET parameters in HTTP. And I'm not even talking about
potential application firewalls not allowing it in the first place.

How does one go about sending such complex parameters with a GET method? I
had a quick look at the HTTP specs and albeit very strange, it appears that
it is not forbidden to use and send a request body while method is GET.
Probably won't pass any application-level security firewall however.

I could also put the information into custom headers in the request. Which
is the way I'm leaning right now.

Is there any good standard practise on this? If you can't follow what I'm
trying to do, just imagine you have to unalterably send an XML document as
parameter, and the request is absolutely not a POST, ie. it does request
data that it described with this complex parameter. (I'm actually using JSON
here, but just to visualize that it's not a simple parameter that can just
be converted to something more usual).

Thanks in advance

Rene

--
View this message in context: 
http://restlet-discuss.1400322.n2.nabble.com/Howto-transmit-complex-big-parameter-in-GET-tp6208380p6208380.html
Sent from the Restlet Discuss mailing list archive at Nabble.com.

------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2714191

Reply via email to