How to extract HTTP headers within process flow

How to extract HTTP headers within process flow

Hi All - haven't found an answer in the forums so here goes...

I have a large Agile Platforms app that I've inherited. This app is a standard web app and is placed behind several DoD firewalls.

A new change is that some additional HTTP headers are being injected by the DoD proxy frontend (Bluecoats) to identify the user's X.509 certificate.

Within one of my "login" flows I need to check to see if these headers are in place and - if so - extract / parse them.

I see that the Text extension will give me the regex capabilities, so the thing I need to know is how to get to the HTTP headers within the pipeline. If this was straight problem, this is trivial. So I just need to know how to get the HTTP headers passed to my AP app.


By the way...say "Hi!" to Tiago and Nuno if they are still there. They'll remember Andy :) Tell 'em that these guys I work for finally cornered me so I have to do some OutSystems dev!


Hi Andy,

Take a look into HTTPRquestHandler extension. If I'm not mistaken there's some methods there to get the HTTP headers.

We tried the HTTPRequestHandler extension and used the GetRequestHeader. However, when we identify the correct header name (we have a asp page that displays it to test), all we get is a null. We put it into the perperation for the page and also triggered it off of a button so we can collect it and write it to a entity. Neither get a value other than null, even though the entity updates with a ID and the null.

Hi Jesse,

Try to dump the request's content on a page using the GetRequestContent from HTTPRequestHandler and set IncludeHeaders parameter to true. Check to see if the header is there and validate if the name is properly set.
As a last resort you can always build an extension to read that specific header from the request.

Excellent thought and it worked. Request.ServerVariables in read the header as HTTP_CLIENT_CERT. HTTPRequestHandler reads it as Client-Cert which displayed in the page. Changed to that header name on the preperation and it works!

Thank you,