Skip to content

Commit 525e333

Browse files
committed
Cleaned up field specification code
1 parent a873bb0 commit 525e333

File tree

8 files changed

+53
-44
lines changed

8 files changed

+53
-44
lines changed

client_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ func TestClient_Get(t *testing.T) {
3333
fields: fields{
3434
sigName: "sig1",
3535
signer: func() *Signer {
36-
signer, _ := NewHMACSHA256Signer("key1", bytes.Repeat([]byte{1}, 64), NewSignConfig(), HeaderList([]string{"@method"}))
36+
signer, _ := NewHMACSHA256Signer("key1", bytes.Repeat([]byte{1}, 64), NewSignConfig(), Headers("@method"))
3737
return signer
3838
}(),
3939
verifier: nil,
@@ -51,7 +51,7 @@ func TestClient_Get(t *testing.T) {
5151
fields: fields{
5252
sigName: "sig1",
5353
signer: func() *Signer {
54-
signer, _ := NewHMACSHA256Signer("key1", bytes.Repeat([]byte{1}, 64), NewSignConfig(), HeaderList([]string{"@method"}))
54+
signer, _ := NewHMACSHA256Signer("key1", bytes.Repeat([]byte{1}, 64), NewSignConfig(), Headers("@method"))
5555
return signer
5656
}(),
5757
verifier: nil,
@@ -69,7 +69,7 @@ func TestClient_Get(t *testing.T) {
6969
fields: fields{
7070
sigName: "",
7171
signer: func() *Signer {
72-
signer, _ := NewHMACSHA256Signer("key1", bytes.Repeat([]byte{1}, 64), NewSignConfig(), HeaderList([]string{"@method"}))
72+
signer, _ := NewHMACSHA256Signer("key1", bytes.Repeat([]byte{1}, 64), NewSignConfig(), Headers("@method"))
7373
return signer
7474
}(),
7575
verifier: nil,
@@ -87,7 +87,7 @@ func TestClient_Get(t *testing.T) {
8787
fields: fields{
8888
sigName: "sig1",
8989
signer: func() *Signer {
90-
signer, _ := NewHMACSHA256Signer("key1", bytes.Repeat([]byte{1}, 64), NewSignConfig(), HeaderList([]string{"@method"}))
90+
signer, _ := NewHMACSHA256Signer("key1", bytes.Repeat([]byte{1}, 64), NewSignConfig(), Headers("@method"))
9191
return signer
9292
}(),
9393
verifier: nil,
@@ -107,12 +107,12 @@ func TestClient_Get(t *testing.T) {
107107
fields: fields{
108108
sigName: "sig1",
109109
signer: func() *Signer {
110-
signer, _ := NewHMACSHA256Signer("key1", bytes.Repeat([]byte{1}, 64), NewSignConfig(), HeaderList([]string{"@method"}))
110+
signer, _ := NewHMACSHA256Signer("key1", bytes.Repeat([]byte{1}, 64), NewSignConfig(), Headers("@method"))
111111
return signer
112112
}(),
113113
verifier: nil,
114114
fetchVerifier: func(res *http.Response, req *http.Request) (sigName string, verifier *Verifier) {
115-
verifier, _ = NewHMACSHA256Verifier("key1", bytes.Repeat([]byte{2}, 64), NewVerifyConfig(), HeaderList([]string{"@method"}))
115+
verifier, _ = NewHMACSHA256Verifier("key1", bytes.Repeat([]byte{2}, 64), NewVerifyConfig(), Headers("@method"))
116116
return "name", verifier
117117
},
118118
Client: *http.DefaultClient,
@@ -192,7 +192,7 @@ func TestClient_Head(t *testing.T) {
192192
fields: fields{
193193
sigName: "sig1",
194194
signer: func() *Signer {
195-
signer, _ := NewHMACSHA256Signer("key1", bytes.Repeat([]byte{1}, 64), NewSignConfig(), HeaderList([]string{"@method"}))
195+
signer, _ := NewHMACSHA256Signer("key1", bytes.Repeat([]byte{1}, 64), NewSignConfig(), Headers("@method"))
196196
return signer
197197
}(),
198198
verifier: nil,

clientex_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ func ExampleClient_Get() {
2424
// Create a signer and a wrapped HTTP client (we set SignCreated to false to make the response deterministic,
2525
// don't do that in production.)
2626
signer, _ := httpsign.NewHMACSHA256Signer("key1", bytes.Repeat([]byte{1}, 64),
27-
httpsign.NewSignConfig().SignCreated(false), httpsign.HeaderList([]string{"@method"}))
27+
httpsign.NewSignConfig().SignCreated(false), httpsign.Headers("@method"))
2828
client := httpsign.NewDefaultClient("sig22", signer, nil, nil) // sign, don't verify
2929

3030
// Send an HTTP GET, get response -- signing and verification happen behind the scenes

fields.go

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66
"strings"
77
)
88

9-
// Fields is a list of fields to be signed. To initialize, use HeaderList or for more complex
9+
// Fields is a list of fields to be signed. To initialize, use Headers or for more complex
1010
// cases, NewFields followed by a chain of Add... methods.
1111
type Fields []field
1212

@@ -23,14 +23,19 @@ func (f *field) String() string {
2323
return fmt.Sprintf("%s;%s=\"%s\"", f.name, f.flagName, f.flagValue)
2424
}
2525

26-
// HeaderList is a simple way to generate a Fields list, where only simple header names and specialty headers
26+
// Headers is a simple way to generate a Fields list, where only simple header names and derived headers
2727
// are needed.
28-
func HeaderList(hs []string) Fields {
29-
var f []field
28+
func Headers(hs ...string) Fields {
29+
fs := NewFields()
30+
return *fs.AddHeaders(hs...)
31+
}
32+
33+
// AddHeaders adds a list of simple or derived header names
34+
func (fs *Fields) AddHeaders(hs ...string) *Fields {
3035
for _, h := range hs {
31-
f = append(f, *fromHeaderName(h))
36+
*fs = append(*fs, *fromHeaderName(h))
3237
}
33-
return f
38+
return fs
3439
}
3540

3641
// NewFields return an empty list of fields

fields_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ func TestFields_asSignatureInput(t *testing.T) {
1818
}{
1919
{
2020
name: "Just headers",
21-
fs: HeaderList([]string{"hdr1", "hdr2", "@Hdr3"}),
21+
fs: Headers("hdr1", "hdr2", "@Hdr3"),
2222
args: args{
2323
p: httpsfv.NewParams(),
2424
},

handler_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ func Test_WrapHandler(t *testing.T) {
1414
fetchVerifier := func(r *http.Request) (string, *Verifier) {
1515
sigName := "sig1"
1616
verifier, _ := NewHMACSHA256Verifier("key", bytes.Repeat([]byte{0}, 64), nil,
17-
HeaderList([]string{"@method"}))
17+
Headers("@method"))
1818
return sigName, verifier
1919
}
2020

2121
fetchSigner := func(res http.Response, r *http.Request) (string, *Signer) {
2222
sigName := "sig1"
2323
signer, _ := NewHMACSHA256Signer("key", bytes.Repeat([]byte{0}, 64), nil,
24-
HeaderList([]string{"@status", "bar", "date"}))
24+
Headers("@status", "bar", "date"))
2525
return sigName, signer
2626
}
2727

@@ -71,7 +71,7 @@ func TestWrapHandlerServerSigns(t *testing.T) {
7171
fetchSigner := func(res http.Response, r *http.Request) (string, *Signer) {
7272
sigName := "sig1"
7373
signer, _ := NewHMACSHA256Signer("key", bytes.Repeat([]byte{0}, 64), signConfig,
74-
HeaderList([]string{"@status", "bar", "date"}))
74+
Headers("@status", "bar", "date"))
7575
return sigName, signer
7676
}
7777
badFetchSigner := func(res http.Response, r *http.Request) (string, *Signer) {
@@ -178,7 +178,7 @@ func TestWrapHandlerServerFails(t *testing.T) { // non-default verify handler
178178
fetchVerifier := func(r *http.Request) (string, *Verifier) {
179179
sigName := "sig1"
180180
verifier, _ := NewHMACSHA256Verifier("key", bytes.Repeat([]byte{0}, 64), nil,
181-
HeaderList([]string{"@method"}))
181+
Headers("@method"))
182182
return sigName, verifier
183183
}
184184
config := NewHandlerConfig().SetReqNotVerified(verifyFailed).SetFetchVerifier(fetchVerifier)
@@ -189,7 +189,7 @@ func TestWrapHandlerServerFails(t *testing.T) { // non-default verify handler
189189
// Create a signer and a wrapped HTTP client (we set SignCreated to false to make the response deterministic,
190190
// don't do that in production.)
191191
signer, _ := NewHMACSHA256Signer("key1", bytes.Repeat([]byte{1}, 64),
192-
NewSignConfig().SignCreated(false), HeaderList([]string{"@method"}))
192+
NewSignConfig().SignCreated(false), Headers("@method"))
193193
client := NewDefaultClient("sig22", signer, nil, nil) // sign, don't verify
194194

195195
// Send an HTTP GET, get response -- signing and verification happen behind the scenes

handlerex_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ func ExampleWrapHandler_clientSigns() {
1717
fetchVerifier := func(r *http.Request) (string, *httpsign.Verifier) {
1818
sigName := "sig1"
1919
verifier, _ := httpsign.NewHMACSHA256Verifier("key", bytes.Repeat([]byte{0x99}, 64), nil,
20-
httpsign.HeaderList([]string{"@method"}))
20+
httpsign.Headers("@method"))
2121
return sigName, verifier
2222
}
2323

@@ -57,7 +57,7 @@ func ExampleWrapHandler_serverSigns() {
5757
fetchSigner := func(res http.Response, r *http.Request) (string, *httpsign.Signer) {
5858
sigName := "sig1"
5959
signer, _ := httpsign.NewHMACSHA256Signer("key", bytes.Repeat([]byte{0}, 64), nil,
60-
httpsign.HeaderList([]string{"@status", "bar", "date", "content-type"}))
60+
httpsign.Headers("@status", "bar", "date", "content-type"))
6161
return sigName, signer
6262
}
6363

signatures_test.go

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,7 @@ func TestSignRequest(t *testing.T) {
361361
signatureName: "sig1",
362362
signer: (func() Signer {
363363
config := NewSignConfig().SignAlg(false).setFakeCreated(1618884475)
364-
fields := HeaderList([]string{"@authority", "date", "content-type"})
364+
fields := Headers("@authority", "date", "content-type")
365365
key, _ := base64.StdEncoding.DecodeString("uzvJfB4u3N0Jy4T7NZ75MDVcr8zSTInedJtkgcu46YW4XByzNJjxBdtjUkdJPBtbmHhIDi6pcl8jsasjlTMtDQ==")
366366
signer, _ := NewHMACSHA256Signer("test-shared-secret", key, config, fields)
367367
return *signer
@@ -378,7 +378,7 @@ func TestSignRequest(t *testing.T) {
378378
signatureName: "sig1",
379379
signer: (func() Signer {
380380
config := NewSignConfig().SignAlg(false).setFakeCreated(1618884475)
381-
fields := HeaderList([]string{"@authorityxx", "date", "content-type"})
381+
fields := Headers("@authorityxx", "date", "content-type")
382382
key, _ := base64.StdEncoding.DecodeString("uzvJfB4u3N0Jy4T7NZ75MDVcr8zSTInedJtkgcu46YW4XByzNJjxBdtjUkdJPBtbmHhIDi6pcl8jsasjlTMtDQ==")
383383
signer, _ := NewHMACSHA256Signer("test-shared-secret", key, config, fields)
384384
return *signer
@@ -395,7 +395,7 @@ func TestSignRequest(t *testing.T) {
395395
signatureName: "sig1",
396396
signer: (func() Signer {
397397
config := NewSignConfig().SignAlg(false).setFakeCreated(1618884475)
398-
fields := HeaderList([]string{"@authority", "date-not-really", "content-type"})
398+
fields := Headers("@authority", "date-not-really", "content-type")
399399
key, _ := base64.StdEncoding.DecodeString("uzvJfB4u3N0Jy4T7NZ75MDVcr8zSTInedJtkgcu46YW4XByzNJjxBdtjUkdJPBtbmHhIDi6pcl8jsasjlTMtDQ==")
400400
signer, _ := NewHMACSHA256Signer("test-shared-secret", key, config, fields)
401401
return *signer
@@ -557,7 +557,7 @@ func readResponse(s string) *http.Response {
557557

558558
func TestSignAndVerifyHMAC(t *testing.T) {
559559
config := NewSignConfig().SignAlg(false).setFakeCreated(1618884475)
560-
fields := HeaderList([]string{"@authority", "date", "content-type"})
560+
fields := Headers("@authority", "date", "content-type")
561561
signatureName := "sig1"
562562
key, _ := base64.StdEncoding.DecodeString("uzvJfB4u3N0Jy4T7NZ75MDVcr8zSTInedJtkgcu46YW4XByzNJjxBdtjUkdJPBtbmHhIDi6pcl8jsasjlTMtDQ==")
563563
signer, _ := NewHMACSHA256Signer("test-shared-secret", key, config, fields)
@@ -577,7 +577,7 @@ func TestSignAndVerifyHMAC(t *testing.T) {
577577

578578
func TestSignAndVerifyHMACBad(t *testing.T) {
579579
config := NewSignConfig().SignAlg(false).setFakeCreated(1618884475)
580-
fields := HeaderList([]string{"@authority", "date", "content-type"})
580+
fields := Headers("@authority", "date", "content-type")
581581
signatureName := "sig1"
582582
key, _ := base64.StdEncoding.DecodeString("uzvJfB4u3N0Jy4T7NZ75MDVcr8zSTInedJtkgcu46YW4XByzNJjxBdtjUkdJPBtbmHhIDi6pcl8jsasjlTMtDQ==")
583583
signer, _ := NewHMACSHA256Signer("test-shared-secret", key, config, fields)
@@ -598,7 +598,7 @@ func TestSignAndVerifyHMACBad(t *testing.T) {
598598

599599
func TestCreated(t *testing.T) {
600600
testOnceWithConfig := func(t *testing.T, createdTime int64, verifyConfig *VerifyConfig, wantSuccess bool) {
601-
fields := HeaderList([]string{"@status", "date", "content-type"})
601+
fields := Headers("@status", "date", "content-type")
602602
signatureName := "sigres"
603603
key, _ := base64.StdEncoding.DecodeString("uzvJfB4u3N0Jy4T7NZ75MDVcr8zSTInedJtkgcu46YW4XByzNJjxBdtjUkdJPBtbmHhIDi6pcl8jsasjlTMtDQ==")
604604
signConfig := NewSignConfig().SignCreated(true).setFakeCreated(createdTime)
@@ -650,7 +650,7 @@ func TestCreated(t *testing.T) {
650650
}
651651

652652
func TestSignAndVerifyResponseHMAC(t *testing.T) {
653-
fields := HeaderList([]string{"@status", "date", "content-type"})
653+
fields := Headers("@status", "date", "content-type")
654654
signatureName := "sigres"
655655
key, _ := base64.StdEncoding.DecodeString("uzvJfB4u3N0Jy4T7NZ75MDVcr8zSTInedJtkgcu46YW4XByzNJjxBdtjUkdJPBtbmHhIDi6pcl8jsasjlTMtDQ==")
656656
config := NewSignConfig().SetExpires(999) // should have expired long ago (but will be ignored by verifier)
@@ -673,7 +673,7 @@ func TestSignAndVerifyResponseHMAC(t *testing.T) {
673673

674674
func TestSignAndVerifyRSAPSS(t *testing.T) {
675675
config := NewSignConfig().SignAlg(false).setFakeCreated(1618884475)
676-
fields := HeaderList([]string{"@authority", "date", "content-type"})
676+
fields := Headers("@authority", "date", "content-type")
677677
signatureName := "sig1"
678678
prvKey, err := loadRSAPSSPrivateKey(rsaPSSPrvKey)
679679
if err != nil {
@@ -700,7 +700,7 @@ func TestSignAndVerifyRSAPSS(t *testing.T) {
700700

701701
func TestSignAndVerifyRSA(t *testing.T) {
702702
config := NewSignConfig().SignAlg(false).setFakeCreated(1618884475)
703-
fields := HeaderList([]string{"@authority", "date", "content-type"})
703+
fields := Headers("@authority", "date", "content-type")
704704
signatureName := "sig1"
705705
prvKey, err := parseRsaPrivateKeyFromPemStr(rsaPrvKey)
706706
if err != nil {
@@ -817,7 +817,8 @@ func TestSignResponse(t *testing.T) {
817817
signatureName: "sig1",
818818
signer: (func() Signer {
819819
key, _ := base64.StdEncoding.DecodeString("uzvJfB4u3N0Jy4T7NZ75MDVcr8zSTInedJtkgcu46YW4XByzNJjxBdtjUkdJPBtbmHhIDi6pcl8jsasjlTMtDQ==")
820-
signer, _ := NewHMACSHA256Signer("test-shared-secret", key, NewSignConfig().setFakeCreated(1618889999), HeaderList([]string{"@status", "date", "content-type"}))
820+
signer, _ := NewHMACSHA256Signer("test-shared-secret", key, NewSignConfig().setFakeCreated(1618889999), Headers(
821+
"@status", "date", "content-type"))
821822
return *signer
822823
})(),
823824
res: readResponse(httpres1),
@@ -832,7 +833,10 @@ func TestSignResponse(t *testing.T) {
832833
signatureName: "sig1",
833834
signer: (func() Signer {
834835
key, _ := base64.StdEncoding.DecodeString("uzvJfB4u3N0Jy4T7NZ75MDVcr8zSTInedJtkgcu46YW4XByzNJjxBdtjUkdJPBtbmHhIDi6pcl8jsasjlTMtDQ==")
835-
signer, _ := NewHMACSHA256Signer("test-shared-secret", key, NewSignConfig().setFakeCreated(1618889999), HeaderList([]string{"@status", "date", "content-type"}))
836+
signer, _ := NewHMACSHA256Signer("test-shared-secret", key, NewSignConfig().setFakeCreated(1618889999), Headers(
837+
838+
"@status", "date", "content-type",
839+
))
836840
return *signer
837841
})(),
838842
res: nil,
@@ -1071,7 +1075,7 @@ func TestRequestResponse(t *testing.T) {
10711075
t.Errorf("Could not generate P-256 keypair")
10721076
}
10731077
req := readRequest(httpreq2)
1074-
signer1, err := NewP256Signer("key9", priv1, NewSignConfig(), HeaderList([]string{"@request-target"}))
1078+
signer1, err := NewP256Signer("key9", priv1, NewSignConfig(), Headers("@request-target"))
10751079
if err != nil {
10761080
t.Errorf("Could not create signer")
10771081
}
@@ -1083,7 +1087,7 @@ func TestRequestResponse(t *testing.T) {
10831087
req.Header.Add("Signature", sig1)
10841088

10851089
// Server verifies request and signs response
1086-
verifier1, err := NewP256Verifier("key9", pub1, NewVerifyConfig(), HeaderList([]string{"@request-target"}))
1090+
verifier1, err := NewP256Verifier("key9", pub1, NewVerifyConfig(), Headers("@request-target"))
10871091
if err != nil {
10881092
t.Errorf("Could not create verifier: %v", err)
10891093
}
@@ -1101,7 +1105,7 @@ func TestRequestResponse(t *testing.T) {
11011105
if err != nil {
11021106
t.Errorf("Could not parse sig1")
11031107
}
1104-
signer2, err := NewP256Signer("key10", priv2, NewSignConfig().SetRequestResponse("sig1", sig1Value), HeaderList([]string{"@status"}))
1108+
signer2, err := NewP256Signer("key10", priv2, NewSignConfig().SetRequestResponse("sig1", sig1Value), Headers("@status"))
11051109
if err != nil {
11061110
t.Errorf("Could not create signer")
11071111
}
@@ -1113,15 +1117,15 @@ func TestRequestResponse(t *testing.T) {
11131117
res.Header.Add("Signature", sig2)
11141118

11151119
// Client verifies response
1116-
verifier2, err := NewP256Verifier("key10", pub2, NewVerifyConfig().SetRequestResponse("sigxx", sig1Value).SetVerifyCreated(false), HeaderList([]string{"@status"}))
1120+
verifier2, err := NewP256Verifier("key10", pub2, NewVerifyConfig().SetRequestResponse("sigxx", sig1Value).SetVerifyCreated(false), Headers("@status"))
11171121
if err != nil {
11181122
t.Errorf("Could not create second verifier: %v", err)
11191123
}
11201124
err = VerifyResponse("sig2", *verifier2, res)
11211125
if err == nil {
11221126
t.Errorf("Verification should have failed, wrong sig name in SetRequestResponse")
11231127
}
1124-
verifier2, err = NewP256Verifier("key10", pub2, NewVerifyConfig().SetRequestResponse("sig1", sig1Value).SetVerifyCreated(false), HeaderList([]string{"@status"}))
1128+
verifier2, err = NewP256Verifier("key10", pub2, NewVerifyConfig().SetRequestResponse("sig1", sig1Value).SetVerifyCreated(false), Headers("@status"))
11251129
if err != nil {
11261130
t.Errorf("Could not create second verifier: %v", err)
11271131
}
@@ -1165,7 +1169,7 @@ func TestDictionary(t *testing.T) {
11651169
func TestMultipleSignatures(t *testing.T) {
11661170
priv1, _, err := genP256KeyPair() // no pub, no verify
11671171
res := readResponse(httpres2)
1168-
signer1, err := NewP256Signer("key10", priv1, NewSignConfig().SignCreated(false), HeaderList([]string{"Content-Type", "Digest"}))
1172+
signer1, err := NewP256Signer("key10", priv1, NewSignConfig().SignCreated(false), Headers("Content-Type", "Digest"))
11691173
if err != nil {
11701174
t.Errorf("Could not create signer")
11711175
}
@@ -1245,7 +1249,7 @@ func Test_signRequestDebug(t *testing.T) {
12451249
name: "normal header, sec. 2.1.1",
12461250
args: args{
12471251
signatureName: "sig1",
1248-
signer: makeHMACSigner(*NewSignConfig().SignCreated(false), HeaderList([]string{"example-dictionary"})),
1252+
signer: makeHMACSigner(*NewSignConfig().SignCreated(false), Headers("example-dictionary")),
12491253
req: readRequest(dict1),
12501254
},
12511255
wantSignatureInputHeader: "sig1=(\"example-dictionary\");alg=\"hmac-sha256\";keyid=\"test-key-hmac\"",
@@ -1257,7 +1261,7 @@ func Test_signRequestDebug(t *testing.T) {
12571261
name: "cross-line header, trim",
12581262
args: args{
12591263
signatureName: "sig1",
1260-
signer: makeHMACSigner(*NewSignConfig().SignCreated(false), HeaderList([]string{"example-dictionary"})),
1264+
signer: makeHMACSigner(*NewSignConfig().SignCreated(false), Headers("example-dictionary")),
12611265
req: readRequest(dict2),
12621266
},
12631267
wantSignatureInputHeader: "sig1=(\"example-dictionary\");alg=\"hmac-sha256\";keyid=\"test-key-hmac\"",
@@ -1270,7 +1274,7 @@ func Test_signRequestDebug(t *testing.T) {
12701274
args: args{
12711275
signatureName: "sig1",
12721276
signer: makeHMACSigner(*NewSignConfig().SignCreated(false),
1273-
HeaderList([]string{"X-OWS-Header", "X-Obs-Fold-Header", "Cache-Control", "Example-Dictionary"})),
1277+
Headers("X-OWS-Header", "X-Obs-Fold-Header", "Cache-Control", "Example-Dictionary")),
12741278
req: readRequest(httpreq4),
12751279
},
12761280
wantSignatureInputHeader: "sig1=(\"x-ows-header\" \"x-obs-fold-header\" \"cache-control\" \"example-dictionary\");alg=\"hmac-sha256\";keyid=\"test-key-hmac\"",

signaturesex_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111

1212
func ExampleSignRequest() {
1313
config := httpsign.NewSignConfig().SignCreated(false).SetNonce("BADCAB") // SignCreated should be "true" to protect against replay attacks
14-
fields := httpsign.HeaderList([]string{"@authority", "Date", "@method"})
14+
fields := httpsign.Headers("@authority", "Date", "@method")
1515
signer, _ := httpsign.NewHMACSHA256Signer("my-shared-secret", bytes.Repeat([]byte{0x77}, 64), config, fields)
1616
reqStr := `GET /foo HTTP/1.1
1717
Host: example.org
@@ -30,7 +30,7 @@ Cache-Control: max-age=60
3030
func ExampleVerifyRequest() {
3131
config := httpsign.NewVerifyConfig().SetVerifyCreated(false) // for testing only
3232
verifier, _ := httpsign.NewHMACSHA256Verifier("my-shared-secret", bytes.Repeat([]byte{0x77}, 64), config,
33-
httpsign.HeaderList([]string{"@authority", "Date", "@method"}))
33+
httpsign.Headers("@authority", "Date", "@method"))
3434
reqStr := `GET /foo HTTP/1.1
3535
Host: example.org
3636
Date: Tue, 20 Apr 2021 02:07:55 GMT

0 commit comments

Comments
 (0)