Forum Discussion

Chris_Phillips's avatar
Chris_Phillips
Icon for Nimbostratus rankNimbostratus
Jan 10, 2014

httpclass paths make full string and NOT the path?

Hi,

 

I think i'm just confirming I'm right and this is just slightly vague (sloppy?) documentation and the likes...

 

When matching the path on an httpclass, it doesn't actually match the path, as found in HTTP::path, but the entire URI including the query string?

 

I have a class like this:

 

profile httpclass app_code_search_class {
   defaults from default_class
   pool app_code_search_pool
   redirect none
   paths {
      "/app-code-search/*"
      "/app-code-search"
   }
}

and I make this request:

 

https://server.com/app-code-search?searchBy=DESC&searchFor=TEST&otherstuff

 

and in an iRule I have a log entry "log local0. "[HTTP::path]" which logs "/app-code-search"

 

it's not until I also now add "/app-code-search?*" to the "paths" list that it works. despite the "?" NOT being part of the path. So it's actually matching the whole URI and NOT the path?

 

Thanks

 

Chris

 

3 Replies

  • nathe's avatar
    nathe
    Icon for Cirrocumulus rankCirrocumulus

    Chris,

     

    Probably a naming issue really in the GUI. Should it say URI, rather than URI Path? Possibly so.

     

    In your example, "/app-code-search*" would work too.

     

    So URI Paths really means the pattern in the whole URI and is not a direct link to HTTP::path, as you found out.

     

    N

     

  • well the v10 config file says "paths" which is the most misleading point for me as I mostly configure via a text editor.

     

    "/app-code-search*" absolutely would work, but I'm specifically updating the config to move away from doing that as that causes illegal URLs to reach our java apps as invalid context roots are permitted that way.

     

    Thanks

     

    Chris

     

    • nathe's avatar
      nathe
      Icon for Cirrocumulus rankCirrocumulus
      your approach makes sense chris