Documentation ¶
Index ¶
- Constants
- Variables
- func AliyunSigner(accessKeyID, accessSecret string, params *url.Values)
- func AuthHeaderValue(signature, accessKey string, signedHeaders []string) string
- func BaiduCanonicalURI(r *http.Request) string
- func BaiduSigner(accessKeyID, accessSecret string, r *http.Request)
- func CanonicalHeaders(r *http.Request, signerHeaders []string) string
- func CanonicalQueryString(r *http.Request) string
- func CanonicalRequest(r *http.Request, signedHeaders []string) (string, error)
- func CanonicalURI(r *http.Request) string
- func CreateHTTPClient() *http.Client
- func CreateNoProxyHTTPClient(network string) *http.Client
- func GetConfigFilePath() string
- func GetConfigFilePathDefault() string
- func GetHTTPResponse(resp *http.Response, url string, err error, result interface{}) error
- func GetHTTPResponseOrg(resp *http.Response, url string, err error) ([]byte, error)
- func GetRequestIPStr(r *http.Request) (addr string)
- func HexEncodeSHA256Hash(body []byte) (string, error)
- func HmacSha256Hex(secret, message string) string
- func HmacSign(signMethod string, httpMethod string, appKeySecret string, vals url.Values) (signature []byte)
- func HmacSignToB64(signMethod string, httpMethod string, appKeySecret string, vals url.Values) (signature string)
- func IsPrivateNetwork(remoteAddr string) bool
- func IsRunInDocker() bool
- func NewDialerResolver(s string)
- func OpenExplorer(url string)
- func RequestPayload(r *http.Request) ([]byte, error)
- func SetInsecureSkipVerify()
- func SignStringToSign(stringToSign string, signingKey []byte) (string, error)
- func SignedHeaders(r *http.Request) []string
- func StringToSign(canonicalRequest string, t time.Time) (string, error)
- func TencentCloudSigner(secretId string, secretKey string, r *http.Request, action string, ...)
- func WriteString(strs ...string) string
- type IpCache
- type Signer
Constants ¶
const ( BasicDateFormat = "20060102T150405Z" Algorithm = "SDK-HMAC-SHA256" HeaderXDate = "X-Sdk-Date" HeaderHost = "host" HeaderAuthorization = "Authorization" HeaderContentSha256 = "X-Sdk-Content-Sha256" )
const (
BaiduDateFormat = "2006-01-02T15:04:05Z"
)
const ConfigFilePathENV = "DDNS_CONFIG_FILE_PATH"
const DockerEnvFile string = "/.dockerenv"
DockerEnvFile Docker容器中包含的文件
const IPCacheTimesENV = "DDNS_IP_CACHE_TIMES"
Variables ¶
var ForceCompareGlobal = true
Functions ¶
func AliyunSigner ¶
AliyunSigner AliyunSigner
func AuthHeaderValue ¶
Get the finalized value for the "Authorization" header. The signature parameter is the output from SignStringToSign
func BaiduCanonicalURI ¶
func BaiduSigner ¶
BaiduSigner set Authorization header
func CanonicalHeaders ¶
CanonicalHeaders
func CanonicalRequest ¶
Build a CanonicalRequest from a regular request string
CanonicalRequest =
HTTPRequestMethod + '\n' + CanonicalURI + '\n' + CanonicalQueryString + '\n' + CanonicalHeaders + '\n' + SignedHeaders + '\n' + HexEncode(Hash(RequestPayload))
func CreateHTTPClient ¶
CreateHTTPClient Create Default HTTP Client
func CreateNoProxyHTTPClient ¶
CreateNoProxyHTTPClient Create NoProxy HTTP Client
func GetConfigFilePathDefault ¶
func GetConfigFilePathDefault() string
GetConfigFilePathDefault 获得默认的配置文件路径
func GetHTTPResponse ¶
GetHTTPResponse 处理HTTP结果,返回序列化的json
func GetHTTPResponseOrg ¶
GetHTTPResponseOrg 处理HTTP结果,返回byte
func GetRequestIPStr ¶ added in v5.0.4
GetRequestIPStr get IP string from request
func HexEncodeSHA256Hash ¶
HexEncodeSHA256Hash returns hexcode of sha256
func HmacSha256Hex ¶
func HmacSignToB64 ¶
func IsPrivateNetwork ¶
IsPrivateNetwork 是否为私有地址 https://en.wikipedia.org/wiki/Private_network
func NewDialerResolver ¶ added in v5.6.1
func NewDialerResolver(s string)
NewDialerResolver 使用 s 将 dialer.Resolver 设置为新的 net.Resolver。
s:用于创建新 net.Resolver 的字符串。
func SetInsecureSkipVerify ¶ added in v5.6.1
func SetInsecureSkipVerify()
SetInsecureSkipVerify 将所有 http.Transport 的 InsecureSkipVerify 设置为 true
func SignStringToSign ¶
Create the HWS Signature.
func StringToSign ¶
Create a "String to Sign".
func TencentCloudSigner ¶ added in v5.3.0
func TencentCloudSigner(secretId string, secretKey string, r *http.Request, action string, payload string)
TencentCloudSigner 腾讯云签名方法 v3 https://cloud.tencent.com/document/api/1427/56189#Golang
func WriteString ¶ added in v5.3.0
WriteString 使用 strings.Builder 生成字符串并返回 string https://pkg.golang.ir/strings#Builder