Forum Discussion

Can_Sobutay_863's avatar
Can_Sobutay_863
Icon for Nimbostratus rankNimbostratus
Feb 05, 2014

matching and/or replacing + sign in STREAM::expression

I am using the ProxyPass v10/v11 iRule (link) to direct and rewrite http URIs and response payloads. Although I set everything up correctly and the irule builds the correct STREAM:expression according to my needs the stream command does not execute after the first + sign. I have tried escaping it with various methods (classical backslash, unicode escape sequences) but none worked so far. Did anyone had the same situation? I am pasting an example URI to be matched in content rewriting.

 

Original: /TR+tr/some_example_http_path/some_example_file.ext

 

Needs to be rewritten to: /some_example_http_path/some_example_file.ext

 

2 Replies

  • Please try this:

    when HTTP_REQUEST {
        HTTP::header remove Accept-Encoding
        STREAM::disable
    }
    when HTTP_RESPONSE {
        STREAM::expression {@/TR\+tr@@}
        STREAM::enable
    }
    
  • Kevin hi,

     

    I just had a chance to try your response. However the Accept-Encoding header is removed by ProxyPass iRule so it can rewrite/modify responses. Hence it is not applicable. However I will write a simple irule just to test the particular response modification. I will update the results accordingly. I am open to new suggestions at the mean time.

     

    Thanx,