@@ -1444,6 +1444,82 @@ spec:
14441444 port: 80
14451445`
14461446
1447+ var respHeaderModifyWithAdd = `
1448+ apiVersion: gateway.networking.k8s.io/v1
1449+ kind: HTTPRoute
1450+ metadata:
1451+ name: add
1452+ spec:
1453+ parentRefs:
1454+ - name: %s
1455+ hostnames:
1456+ - httpbin.example.resp-header-modify.add
1457+ rules:
1458+ - matches:
1459+ - path:
1460+ type: Exact
1461+ value: /headers
1462+ filters:
1463+ - type: ResponseHeaderModifier
1464+ responseHeaderModifier:
1465+ add:
1466+ - name: X-Resp-Add
1467+ value: "resp-add"
1468+ backendRefs:
1469+ - name: httpbin-service-e2e-test
1470+ port: 80
1471+ `
1472+
1473+ var respHeaderModifyWithSet = `
1474+ apiVersion: gateway.networking.k8s.io/v1
1475+ kind: HTTPRoute
1476+ metadata:
1477+ name: set
1478+ spec:
1479+ parentRefs:
1480+ - name: %s
1481+ hostnames:
1482+ - httpbin.example.resp-header-modify.set
1483+ rules:
1484+ - matches:
1485+ - path:
1486+ type: Exact
1487+ value: /headers
1488+ filters:
1489+ - type: ResponseHeaderModifier
1490+ responseHeaderModifier:
1491+ set:
1492+ - name: X-Resp-Set
1493+ value: "resp-set"
1494+ backendRefs:
1495+ - name: httpbin-service-e2e-test
1496+ port: 80
1497+ `
1498+
1499+ var respHeaderModifyWithRemove = `
1500+ apiVersion: gateway.networking.k8s.io/v1
1501+ kind: HTTPRoute
1502+ metadata:
1503+ name: remove
1504+ spec:
1505+ parentRefs:
1506+ - name: %s
1507+ hostnames:
1508+ - httpbin.example.resp-header-modify.remove
1509+ rules:
1510+ - matches:
1511+ - path:
1512+ type: Exact
1513+ value: /headers
1514+ filters:
1515+ - type: ResponseHeaderModifier
1516+ responseHeaderModifier:
1517+ remove:
1518+ - Server
1519+ backendRefs:
1520+ - name: httpbin-service-e2e-test
1521+ port: 80
1522+ `
14471523 var respHeaderModifyByHeaders = `
14481524apiVersion: gateway.networking.k8s.io/v1
14491525kind: HTTPRoute
@@ -1655,6 +1731,9 @@ spec:
16551731 It ("HTTPRoute ResponseHeaderModifier" , func () {
16561732 By ("create HTTPRoute" )
16571733 s .ResourceApplied ("HTTPRoute" , "httpbin" , fmt .Sprintf (respHeaderModifyByHeaders , s .Namespace (), s .Namespace ()), 1 )
1734+ s .ResourceApplied ("HTTPRoute" , "add" , fmt .Sprintf (respHeaderModifyWithAdd , s .Namespace ()), 1 )
1735+ s .ResourceApplied ("HTTPRoute" , "set" , fmt .Sprintf (respHeaderModifyWithSet , s .Namespace ()), 1 )
1736+ s .ResourceApplied ("HTTPRoute" , "remove" , fmt .Sprintf (respHeaderModifyWithRemove , s .Namespace ()), 1 )
16581737
16591738 By ("access daataplane to check the HTTPRoute" )
16601739 s .RequestAssert (& scaffold.RequestAssert {
@@ -1666,12 +1745,40 @@ spec:
16661745 scaffold .WithExpectedHeaders (map [string ]string {
16671746 "X-Resp-Add" : "add" ,
16681747 "X-Resp-Set" : "set" ,
1669- "Server" : "" ,
16701748 }),
1749+ scaffold .WithExpectedNotHeader ("Server" ),
16711750 scaffold .WithExpectedBodyNotContains (`"X-Resp-Add": "add"` , `"X-Resp-Set": "set"` , `"Server"` ),
16721751 },
1673- Timeout : time .Second * 30 ,
1674- Interval : time .Second * 2 ,
1752+ })
1753+ s .RequestAssert (& scaffold.RequestAssert {
1754+ Method : "GET" ,
1755+ Path : "/headers" ,
1756+ Host : "httpbin.example.resp-header-modify.add" ,
1757+ Checks : []scaffold.ResponseCheckFunc {
1758+ scaffold .WithExpectedStatus (http .StatusOK ),
1759+ scaffold .WithExpectedHeader ("X-Resp-Add" , "resp-add" ),
1760+ scaffold .WithExpectedBodyNotContains (`"X-Resp-Add": "resp-add"` ),
1761+ },
1762+ })
1763+ s .RequestAssert (& scaffold.RequestAssert {
1764+ Method : "GET" ,
1765+ Path : "/headers" ,
1766+ Host : "httpbin.example.resp-header-modify.set" ,
1767+ Checks : []scaffold.ResponseCheckFunc {
1768+ scaffold .WithExpectedStatus (http .StatusOK ),
1769+ scaffold .WithExpectedHeader ("X-Resp-Set" , "resp-set" ),
1770+ scaffold .WithExpectedBodyNotContains (`"Server"` ),
1771+ },
1772+ })
1773+ s .RequestAssert (& scaffold.RequestAssert {
1774+ Method : "GET" ,
1775+ Path : "/headers" ,
1776+ Host : "httpbin.example.resp-header-modify.remove" ,
1777+ Checks : []scaffold.ResponseCheckFunc {
1778+ scaffold .WithExpectedStatus (http .StatusOK ),
1779+ scaffold .WithExpectedNotHeader ("Server" ),
1780+ scaffold .WithExpectedBodyNotContains (`"Server"` ),
1781+ },
16751782 })
16761783 })
16771784
0 commit comments