@@ -23,13 +23,11 @@ func RequestDetailsByTag(req *http.Request, tag string) (*MessageDetails, error)
2323 if req == nil {
2424 return nil , fmt .Errorf ("nil request" )
2525 }
26- names , err := RequestSignatureNames (req , false )
26+ all , err := signatureDetailsListFromHeaders (req . Header )
2727 if err != nil {
2828 return nil , err
2929 }
30- return detailsByTag (names , tag , func (name string ) (* MessageDetails , error ) {
31- return RequestDetails (name , req )
32- })
30+ return detailsByTag (all , tag )
3331}
3432
3533// ResponseDetailsByTag returns MessageDetails for the unique Signature whose
@@ -41,13 +39,11 @@ func ResponseDetailsByTag(res *http.Response, tag string) (*MessageDetails, erro
4139 if res == nil {
4240 return nil , fmt .Errorf ("nil response" )
4341 }
44- names , err := ResponseSignatureNames (res , false )
42+ all , err := signatureDetailsListFromHeaders (res . Header )
4543 if err != nil {
4644 return nil , err
4745 }
48- return detailsByTag (names , tag , func (name string ) (* MessageDetails , error ) {
49- return ResponseDetails (name , res )
50- })
46+ return detailsByTag (all , tag )
5147}
5248
5349// RequestDetailsListByTag returns MessageDetails for every Signature whose
@@ -57,13 +53,11 @@ func RequestDetailsListByTag(req *http.Request, tag string) ([]*MessageDetails,
5753 if req == nil {
5854 return nil , fmt .Errorf ("nil request" )
5955 }
60- names , err := RequestSignatureNames (req , false )
56+ all , err := signatureDetailsListFromHeaders (req . Header )
6157 if err != nil {
6258 return nil , err
6359 }
64- return detailsListByTag (names , tag , func (name string ) (* MessageDetails , error ) {
65- return RequestDetails (name , req )
66- })
60+ return detailsListByTag (all , tag ), nil
6761}
6862
6963// ResponseDetailsListByTag returns MessageDetails for every Signature whose
@@ -73,37 +67,27 @@ func ResponseDetailsListByTag(res *http.Response, tag string) ([]*MessageDetails
7367 if res == nil {
7468 return nil , fmt .Errorf ("nil response" )
7569 }
76- names , err := ResponseSignatureNames (res , false )
70+ all , err := signatureDetailsListFromHeaders (res . Header )
7771 if err != nil {
7872 return nil , err
7973 }
80- return detailsListByTag (names , tag , func (name string ) (* MessageDetails , error ) {
81- return ResponseDetails (name , res )
82- })
74+ return detailsListByTag (all , tag ), nil
8375}
8476
85- func detailsListByTag (names []string , tag string , detailsFn func ( string ) ( * MessageDetails , error )) ( []* MessageDetails , error ) {
77+ func detailsListByTag (all []* MessageDetails , tag string ) []* MessageDetails {
8678 var found []* MessageDetails
87- for _ , name := range names {
88- details , err := detailsFn (name )
89- if err != nil {
90- return nil , fmt .Errorf ("details for %q: %w" , name , err )
91- }
79+ for _ , details := range all {
9280 if details .Tag != nil && * details .Tag == tag {
9381 found = append (found , details )
9482 }
9583 }
96- return found , nil
84+ return found
9785}
9886
99- func detailsByTag (names []string , tag string , detailsFn func ( string ) ( * MessageDetails , error ) ) (* MessageDetails , error ) {
87+ func detailsByTag (all []* MessageDetails , tag string ) (* MessageDetails , error ) {
10088 var match * MessageDetails
10189 n := 0
102- for _ , name := range names {
103- details , err := detailsFn (name )
104- if err != nil {
105- return nil , fmt .Errorf ("details for %q: %w" , name , err )
106- }
90+ for _ , details := range all {
10791 if details .Tag == nil || * details .Tag != tag {
10892 continue
10993 }
0 commit comments