@@ -17,7 +17,7 @@ type httpContext struct {
1717
1818func (c * httpContext ) OnHttpRequestHeaders (_ int , _ bool ) types.Action {
1919 for _ , requestHeaderToRename := range c .configuration .requestHeadersToRename {
20- if err := c .renameRequestHeader (requestHeaderToRename .header . key , requestHeaderToRename . header . value ); err != nil {
20+ if err := c .renameRequestHeader (requestHeaderToRename .header ); err != nil {
2121 setErrorHTTPResponseWithLog ("failed to rename the header: %s" , err )
2222 return types .ActionPause
2323 }
@@ -26,22 +26,27 @@ func (c *httpContext) OnHttpRequestHeaders(_ int, _ bool) types.Action {
2626 return types .ActionContinue
2727}
2828
29- func (c * httpContext ) renameRequestHeader (origName , newName string ) error {
30- value , err := proxywasm .GetHttpRequestHeader (origName )
29+ func (c * httpContext ) renameRequestHeader (h headerValue ) error {
30+ value , err := proxywasm .GetHttpRequestHeader (h . key )
3131 if err != nil {
3232 if err == types .ErrorStatusNotFound {
3333 return nil
3434 }
3535
36- return fmt .Errorf ("failed to get the original header, `%s`: %w" , origName , err )
36+ return fmt .Errorf ("failed to get the original header, `%s`: %w" , h . key , err )
3737 }
3838
39- if err := proxywasm .ReplaceHttpRequestHeader (newName , value ); err != nil {
40- return fmt .Errorf ("failed to set the new header, `%s`: %w" , newName , err )
39+ newValue := value
40+ if h .prefix != "" {
41+ newValue = h .prefix + value
4142 }
4243
43- if err := proxywasm .RemoveHttpRequestHeader (origName ); err != nil {
44- return fmt .Errorf ("failed to delete the original header, `%s`: %w" , origName , err )
44+ if err := proxywasm .ReplaceHttpRequestHeader (h .value , newValue ); err != nil {
45+ return fmt .Errorf ("failed to set the new header, `%s`: %w" , h .value , err )
46+ }
47+
48+ if err := proxywasm .RemoveHttpRequestHeader (h .key ); err != nil {
49+ return fmt .Errorf ("failed to delete the original header, `%s`: %w" , h .key , err )
4550 }
4651
4752 return nil
0 commit comments