Make 'URLPathTransformer' interface and implementation to do the function prefix trimming instead of baking it in. Also add a configuration option, 'pass_url_path_to_functions' to control whether the full path is passed to the functions or not.

Signed-off-by: Thomas E Lackey <telackey@bozemanpass.com>
This commit is contained in:
Thomas E Lackey
2018-08-13 23:00:16 -05:00
committed by Alex Ellis
parent 7870b87c38
commit decf9addb3
6 changed files with 85 additions and 33 deletions

View File

@ -164,7 +164,10 @@ func Test_buildUpstreamRequest_Body_Method_Query_Path(t *testing.T) {
t.Fail()
}
upstream := buildUpstreamRequest(request, "http://xyz:8080", request.URL.Path)
transformer := FunctionPrefixTrimmingURLPathTransformer{}
transformedPath := transformer.Transform(request)
upstream := buildUpstreamRequest(request, "http://xyz:8080", transformedPath)
if request.Method != upstream.Method {
t.Errorf("Method - want: %s, got: %s", request.Method, upstream.Method)