Skip to main content
Solved

url encoding in the Automations

  • 22 July 2024
  • 2 replies
  • 64 views

Hello all,

Today I fell into a rabbit hole with the HTTP request action in Automations (2024.1).

As the Action lacks the parameters key-value interfacing of a fully fledged HTTPCaller, I needed to build-up the parameter-part of the URL in the text-editor.

There, some URL encoding happens. Spaces are substituted by %20 at least. But I was unable to parse a GeoJSON as the [ ] were not encoded. When I manually url-encoded the parameter values, the encoding (%) was encoded(%25) , so I still did not get a valid GeoJSON from a manual-trigger-Geometry parameter to a parameter in a workspace REST-webhook.

I remember around 2016, the default server.xml in a FME Server installation did allow for non-encoded brackets through an exception in the <connector>. That has long gone in the standard install. Using Kubernetes, even if I wanted to, I would not know how to put that back.

So:

  1. Has anyone figured-out the encoding which does occur (which and when)? 
  2. @Safe: Could we please have reliable full encoding (including the e ]) so FME Flow eats its own dogfood?
  3. @Safe: Perhaps bring the parameters-matrix to the Automation HTTP request. This clearly distinguishes between parts of the URL and values which need URL-encoding
  4. @Safe: A little off-topic, but at least as important, bring the Headers-matrix from the HTTPCaller to the Automation HTTP request. Now I can only set only the Accept header, but not e.g. the Authorization : fmetoken token=1eedda2c5776…... 

Kind regards,

Martin

 

edits: Hey, non-native English speaker….

2 replies

Badge +9

Hi @martinkoch,

Sorry for the frustration the HTTP Request Automation action is causing. Unfortunately, this is a bug where the action is adding an unnecessary space at the start of encoded geojson values. And unencoded geojson values are also not encoded correctly.
Until the action is fixed, I’d recommend using an HTTPCaller. We also have issues filed in our product backlog to improve the action for query parameters and headers, but there is currently no planned timeline for improvement. For the headers, there is also an existing idea: 

 

Userlevel 1
Badge +17

I had the idea to ‘hide’ the trusty ‘asynchronous download-service with e-mail option’ behind an Automations-app.

Now, the only option I see to have a fully asynchronous behavior of the app, is having an automation(-app) trigger a workspace which triggers a webhook to a workspace. I made it this way, and it works, but one should not have too many of these before things become messy.

Reply