camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bee1000 <richbo...@hotmail.com>
Subject Re: Restlet url encoding post data?
Date Thu, 15 Apr 2010 15:49:19 GMT

I'm working on a patch for this.  I have a question.  The Camel binding layer
appears to be mapping non Restlet message headers into URL parameters via
the Restlet Form object.  I believe URL parameters are only valid for GET
and POST w/content type of application/x-www-form-urlencoded.  What should
we do with the headers for PUT, DELETE, and non-form POSTs?  

Should I move this thread to the developers forum?  I wasn't sure if only
jira stuff went there.



William Tam wrote:
> 
> I see. The method probably should have called request.setEntity(Sting, 
> MediaType) similar to the response message. I'm looking forward to your 
> patch.
> 
> Thanks,
> William
> 
> Bee1000 wrote:
>> You can set the header, but it is not used in the code.  The method calls
>> form.getWebRepresentation() which is hard coded to use
>> 'application/x-www-form-urlencoded'.
>>
>> I will look into creating a jira issue and a test case, and possibly
>> provide
>> a fix as well.  
>>
>> Rich
>>
>>
>> William Tam wrote:
>>   
>>> Have you tried setting the Content-Type header (to "application/json") 
>>> in your request Camel message?   It looks like
>>> DefaultRestletBinding.populateRestletRequestFromExchange() method will 
>>> add the header to the Form.  If it does not work, any chance you are 
>>> create a Jira with a testcase?  A patch would be great, too.  :-)
>>>
>>> Bee1000 wrote:
>>>     
>>>> Using http does work, but it still seems like a bug to hard code the
>>>> encoding
>>>> of post data for restlet.  I thought post data could be any text or
>>>> binary
>>>> data.  It seems like this reduces the usefulness of the restlet camel
>>>> component.  Just out of curiosity, is there another reason why the
>>>> encoding
>>>> is hardcoded?  (Perhaps to be more precise, the message body is being
>>>> encoded in the RESTLET component, which for POST means that post data
>>>> is
>>>> being encoded.)
>>>>
>>>>
>>>>
>>>> willem.jiang wrote:
>>>>   
>>>>       
>>>>> Hi,
>>>>>
>>>>> I think you can try to use Camel-Http component, which is leverage 
>>>>> common http client to invoke the http service.
>>>>>
>>>>> Willem
>>>>>
>>>>> Bee1000 wrote:
>>>>>     
>>>>>         
>>>>>> I'm trying to post documents to couchdb using restlet but the restlet
>>>>>> component is hard coded to url encode the post data.  This makes
the
>>>>>> JSON
>>>>>> text i'm posting invalid.  Do I need to use some other component
or
>>>>>> is
>>>>>> there
>>>>>> a way around this?
>>>>>>       
>>>>>>           
>>>>>     
>>>>>         
>>>>   
>>>>       
>>>     
>>
>>   
> 
> 

-- 
View this message in context: http://old.nabble.com/Restlet-url-encoding-post-data--tp28197024p28257057.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Mime
View raw message