For more information regarding the security incident at F5, the actions we are taking to address it, and our ongoing efforts to protect our customers, click here.

Forum Discussion

wadeziegler's avatar
wadeziegler
Icon for Nimbostratus rankNimbostratus
Mar 22, 2022

Change a query parameter

I have a query paremeter with coordinates that need to be reversed. The name of the parameter needs to change and the coordinates reversed too. What is the best way to do that?

Change from:

https://gis.xxxxxxxx.com/arcgis/apps/webappviewer/index.html?id=yyyyyyyyy&reversedmarker=36.121779,-115.169858&level=20 

To:

https://gis.xxxxxxxx.com/arcgis/apps/webappviewer/index.html?id=yyyyyyyyy&marker=-115.169858,36.121779&level=20 

1 Reply

  • Hi wadeziegler,

    Can you try this?

    when HTTP_REQUEST {
        if { [HTTP::query] contains "reversedmarker" } {
            set uri [HTTP::uri]
            set reversedmarkervalue [URI::query $uri reversedmarker]
            set markervalue "[getfield $reversedmarkervalue "," 2],[getfield $reversedmarkervalue "," 1]"
            set newuri [string map [list $reversedmarkervalue $markervalue "reversedmarker" "marker" ] $uri]
            HTTP::uri $newuri
            # for redirect
            # HTTP::redirect https://[HTTP::host]$newuri
            unset uri reversedmarkervalue markervalue newuri
        }
    }

    or shorter but less readable:

    when HTTP_REQUEST {
        if { [HTTP::query] contains "reversedmarker" } {
            HTTP::uri [string map [list "[URI::query [HTTP::uri] reversedmarker]" "[getfield [URI::query [HTTP::uri] reversedmarker] "," 2],[getfield [URI::query [HTTP::uri] reversedmarker] "," 1]" "reversedmarker" "marker"] [HTTP::uri]]
            # for redirect
            # HTTP::redirect https://[HTTP::host][string map [list "[URI::query [HTTP::uri] reversedmarker]" "[getfield [URI::query [HTTP::uri] reversedmarker] "," 2],[getfield [URI::query [HTTP::uri] reversedmarker] "," 1]" "reversedmarker" "marker"] [HTTP::uri]]
        }
    }