mirror of
https://github.com/gospider007/requests.git
synced 2025-12-24 13:57:52 +08:00
36 lines
765 B
Go
36 lines
765 B
Go
package requests
|
|
|
|
import (
|
|
"fmt"
|
|
"net/http"
|
|
|
|
"gopkg.in/errgo.v2/fmt/errors"
|
|
)
|
|
|
|
func (obj *RequestOption) initOrderHeaders() (http.Header, error) {
|
|
if obj.Headers == nil {
|
|
return make(http.Header), nil
|
|
}
|
|
switch headers := obj.Headers.(type) {
|
|
case http.Header:
|
|
return headers, nil
|
|
case *OrderData:
|
|
obj.orderHeaders = headers
|
|
return make(http.Header), nil
|
|
case map[string]any:
|
|
results := make(http.Header)
|
|
for key, val := range headers {
|
|
results.Add(key, fmt.Sprintf("%v", val))
|
|
}
|
|
return results, nil
|
|
case map[string]string:
|
|
results := make(http.Header)
|
|
for key, val := range headers {
|
|
results.Add(key, val)
|
|
}
|
|
return results, nil
|
|
default:
|
|
return nil, errors.New("headers type error")
|
|
}
|
|
}
|