HTTP Adapter: urlstring parameters no longer escaped by default ... How to escape parameters?

In a RESTful Call to this service:

https://www.googleapis.com/language/translate/v2?key=&q=%val%&source=%inLang%&target=%outLang%&prettyprint=false

The input parameter q is query that can contain any characters, including spaces(%20), etc...

The question is what is the best way within the jopera framework to escape the parameters in order to be use in the HTTP adapter in a GET call?

should we use a JS script to encode the parameter?

Thanks,

Manuel

Use %param@escape%

Hi Manuel,

yes that is correct, implicit escaping by default was very problematic when using parameters to pass entire URIs into the HTTP adapter so since JOpera 2.5.4 you have to make escaping explicit.

To escape the values of parameters you should now use the following notation

%param@escape%

where param is the parameter name you want to escape. All other parameters written without @escape will not be escaped by default.

Your example becomes:

https://www.googleapis.com/language/translate/v2?key=&q=%val@escape%&sou...

Please note that the @escape function only works for the urlstring input system parameter of the HTTP adapter.

Let us know if this helped solve your problem.

Best Regards,
JOpera Team

got it working!! Thanks!

got it working!! Thanks!