Skip to content

ext_proc does not honour HeaderAppendAction #36982

@davidjumani

Description

@davidjumani

Title: ext_proc does not honour HeaderAppendAction

Description:

What issue is being seen? Describe what should be happening instead of

When running envoy with the ext_proc filter and pointing to a server that returns header mutation, envoy does not honour the AppendAction field but only the deprecated Append field as mentioned in the HeaderValueOption docs.
Despite setting AppendAction to any supported value, envoy only overwrites the existing header or appends to it if append is true.

This is because the relevant code change is yet to be made in ext_proc despite the updated API
Link to the code that only checks the value of append

ext_proc server snippet :

func returnResponse(key string, value string, appendAction HeaderValueOption_HeaderAppendAction) *service_ext_proc_v3.HeadersResponse {
	return &service_ext_proc_v3.HeadersResponse{
		Response: &service_ext_proc_v3.CommonResponse{
			HeaderMutation:  &service_ext_proc_v3.HeaderMutation{
				SetHeaders: []*core_v3.HeaderValueOption{
					{
						Header: &core_v3.HeaderValue{
							Key: key, 
							RawValue: []byte(value)
						},
						AppendAction: appendAction,	
	                                        // Append: &wrapperspb.BoolValue{Value: true},
					},
				},	
			},
		},
	}
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/ext_procbugstalestalebot believes this issue/PR has not been touched recently

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions