Documentation ¶
Index ¶
- func APHash(str []byte) uint32
- func APHash64(str []byte) uint64
- func BKDRHash(str []byte) uint32
- func BKDRHash64(str []byte) uint64
- func Base58Decoding(str string) string
- func Base58Encoding(str string) string
- func Base64Decoding(str string) string
- func Base64Encoding(str string) string
- func CheckSum(filename string, algorithm HashAlgorithm, capital bool) (string, error)
- func CopyFile(src, dst string) (int64, error)
- func DJBHash(str []byte) uint32
- func DJBHash64(str []byte) uint64
- func Decode(s string) (string, error)
- func DecodeInt(s string) (*big.Int, error)
- func ELFHash(str []byte) uint32
- func ELFHash64(str []byte) uint64
- func Encode(s string) (string, error)
- func EncodeInt(i *big.Int) (string, error)
- func FromEnvironment() proxy.Dialer
- func FromURL(u *url.URL, forward proxy.Dialer) (proxy.Dialer, error)
- func Gb18030ToUtf8(s []byte) ([]byte, error)
- func GbkToUtf8(s []byte) ([]byte, error)
- func GenerateSelfSignedCertKey(outdir string, keySize int, expire time.Duration, host string, ...) error
- func GetLocalIPAddr() (string, error)
- func GetUserPrivileges(db *sql.DB, user string, host string) ([]string, error)
- func Gzip(source, target string) error
- func HMAC(str, key string, algorithm HashAlgorithm, capital bool) string
- func HMD5(s, key string) string
- func HSHA1(s, key string) string
- func HSHA2(s, key string) string
- func HSHA256(s, key string) string
- func HSHA3(s, key string) string
- func HSHA512(s, key string) string
- func Hash(s string, algorithm HashAlgorithm, capital bool) string
- func InSlice(s []string, str string) bool
- func InSlicePrefix(s []string, prefix string) bool
- func IsDir(dirname string) bool
- func IsFile(filename string) bool
- func IsInteger(s string) bool
- func IsRegularEmailAddress(s string) bool
- func IsRegularIPv4Address(s string) bool
- func IsRegularIPv4AndPort(s string) bool
- func IsRegularPhoneNumber(s string) bool
- func IsTrue(v string) bool
- func JSHash(str []byte) uint32
- func JSHash64(str []byte) uint64
- func MD5(s string) string
- func NewMySQLConn(host string, port int, username, passwd, database, charset string) (*sql.DB, error)
- func PJWHash(str []byte) uint32
- func PJWHash64(str []byte) uint64
- func PathNormalized(s string) string
- func RSHash(str []byte) uint32
- func RSHash64(str []byte) uint64
- func RemoveAllSafe(s string) error
- func RemoveContents(dir string) error
- func RemoveGlob(path string) (err error)
- func RemovePathSeparatorPrefix(s string) string
- func RemovePathSeparatorSuffix(s string) string
- func ReverseByteArr(bytes []byte) []byte
- func SDBMHash(str []byte) uint32
- func SDBMHash64(str []byte) uint64
- func SHA1(s string) string
- func SHA2(s string) string
- func SHA256(s string) string
- func SHA3(s string) string
- func SHA512(s string) string
- func SearchFile(name string, dirs []string) (string, error)
- func Substitute(source string, replacements map[string]string) string
- func Tar(sourceDir, targetDir string) error
- func TarGzip(source, target string) error
- func UnGzip(source, target string) error
- func UnixPathNormalized(s string) string
- func Untar(tarball, target string) error
- func UntarGzip(source, target string) error
- func Unzip(zipFile string, destDir string) error
- func Utf8ToGb18030(s []byte) ([]byte, error)
- func Utf8ToGbk(s []byte) ([]byte, error)
- func VerifySum(filename, checksum string, algorithm HashAlgorithm) bool
- func WindowsPathNormalized(s string) string
- func Zip(srcFile string, destZip string, containSelf bool) error
- type BotMessage
- type BotSender
- type DbColumnSchema
- type DbSchema
- type DbTableSchema
- type DbUser
- type DingtalkActionCardMessage
- type DingtalkActionCardMessageButton
- type DingtalkActionCardSingleMessage
- type DingtalkBotSender
- type DingtalkFeedCardMessage
- type DingtalkFeedCardMessageLink
- type DingtalkLinkMessage
- type DingtalkMarkdownMessage
- type DingtalkTextMessage
- type FeishuBotSender
- type FeishuCardMessage
- type FeishuRichMessage
- type FeishuTextMessage
- type Formatter
- type HashAlgorithm
- type HttpClient
- func (h *HttpClient) Delete(uri string, r *HttpRequest) (*HttpResponse, error)
- func (h *HttpClient) Get(uri string, r *HttpRequest) (*HttpResponse, error)
- func (h *HttpClient) Head(uri string, r *HttpRequest) (*HttpResponse, error)
- func (h *HttpClient) Options(uri string, r *HttpRequest) (*HttpResponse, error)
- func (h *HttpClient) Patch(uri string, r *HttpRequest) (*HttpResponse, error)
- func (h *HttpClient) Post(uri string, r *HttpRequest) (*HttpResponse, error)
- func (h *HttpClient) Put(uri string, r *HttpRequest) (*HttpResponse, error)
- func (h *HttpClient) Request(method, uri string, r *HttpRequest) (*HttpResponse, error)
- type HttpClientOption
- type HttpRequest
- type HttpResponse
- type ProcessOption
- type ProcessOutLineHandle
- type ProgressBar
- type SSHClient
- func (s *SSHClient) Close() error
- func (s *SSHClient) Connect() error
- func (s *SSHClient) Download(src, dst string) error
- func (s *SSHClient) Run(command string) (int, error)
- func (s *SSHClient) RunWithWriter(command string, w io.Writer) (int, error)
- func (s *SSHClient) Upload(src, dst string) error
- type SSHClientOption
- func SSHOptionWithChunkSize(chunkSize uint16) SSHClientOption
- func SSHOptionWithPassword(password string) SSHClientOption
- func SSHOptionWithProxy(proxyUrl string) SSHClientOption
- func SSHOptionWithTimeout(timeout time.Duration) SSHClientOption
- func SSHOptionWithTunnel(tunnel *SSHTunnel) SSHClientOption
- type SSHTunnel
- type SSHTunnelEndpoint
- type SubProcess
- type SubProcessOption
- type WxWorkBotSender
- type WxWorkFileMessage
- type WxWorkImageMessage
- type WxWorkMarkdownMessage
- type WxWorkNewsMessage
- type WxWorkNewsNoticeMessage
- type WxWorkTextMessage
- type WxWorkTextNoticeMessage
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BKDRHash64 ¶ added in v1.0.22
func Base58Decoding ¶ added in v1.0.22
Base58Decoding Base58解码。
func Base58Encoding ¶ added in v1.0.22
Base58Encoding Base58编码。
func Base64Decoding ¶ added in v1.0.22
Base64Decoding Base64解码。
func Base64Encoding ¶ added in v1.0.22
Base64Encoding Base64编码。
func CheckSum ¶ added in v1.0.1
func CheckSum(filename string, algorithm HashAlgorithm, capital bool) (string, error)
CheckSum 计算文件哈希校验码。
func Encode ¶ added in v1.0.24
Encode converts the big integer to alpha id (an alphanumeric id with mixed cases)
func FromEnvironment ¶ added in v1.0.4
func Gb18030ToUtf8 ¶ added in v1.0.13
Gb18030ToUtf8 GB18030 vs UTF-8 编码转换。
func GenerateSelfSignedCertKey ¶ added in v1.0.8
func GenerateSelfSignedCertKey(outdir string, keySize int, expire time.Duration, host string, alternateIPs []net.IP, alternateDNS []string) error
GenerateSelfSignedCertKey 生成自签名证书。
func GetLocalIPAddr ¶ added in v1.0.8
GetLocalIPAddr 读取本机 IP 地址。
func GetUserPrivileges ¶ added in v1.0.21
func HMAC ¶ added in v1.0.1
func HMAC(str, key string, algorithm HashAlgorithm, capital bool) string
func InSlicePrefix ¶ added in v1.0.1
InSlicePrefix 检查字符串前缀是否在列表中?
func IsRegularEmailAddress ¶ added in v1.0.8
IsRegularEmailAddress 检查字符串是否匹配电子邮件地址模式?
func IsRegularIPv4Address ¶ added in v1.0.13
IsRegularIPv4Address 检查字符串是否匹配 IPv4 模式?
func IsRegularIPv4AndPort ¶ added in v1.0.8
IsRegularIPv4AndPort 检查字符串是否匹配 IP:Port 模式?
func IsRegularPhoneNumber ¶ added in v1.0.8
IsRegularPhoneNumber 检查字符串是否匹配电话号码模式?
func NewMySQLConn ¶ added in v1.0.15
func NewMySQLConn(host string, port int, username, passwd, database, charset string) (*sql.DB, error)
NewMySQLConn 打开 MySQL 连接。
func PathNormalized ¶ added in v1.0.13
PathNormalized 移除路径中多余的 /\ 分隔字符。
func RemoveAllSafe ¶ added in v1.0.3
RemoveAllSafe 移除任意文件或目录。(当传入的参数是系统保护路径时会报错!)
func RemoveContents ¶ added in v1.0.1
RemoveContents 移除目录下的所有文件及子目录。(不包含目录自身)
func RemovePathSeparatorPrefix ¶ added in v1.0.8
RemovePathSeparatorPrefix 移除开头的 /,\ 字符。
func RemovePathSeparatorSuffix ¶ added in v1.0.8
RemovePathSeparatorSuffix 移除尾部的 /,\ 字符。
func ReverseByteArr ¶ added in v1.0.22
func SDBMHash64 ¶ added in v1.0.22
func SearchFile ¶ added in v1.0.23
SearchFile 在若干目录中搜索 name 文件。
func Substitute ¶
Substitute 替换字符串。
func UnixPathNormalized ¶ added in v1.0.13
UnixPathNormalized 转换路径分隔符为 Unix 样式。
func Utf8ToGb18030 ¶ added in v1.0.13
Utf8ToGb18030 UTF-8 vs GB18030 编码转换。
func VerifySum ¶ added in v1.0.3
func VerifySum(filename, checksum string, algorithm HashAlgorithm) bool
VerifySum 校验文件哈希值。
func WindowsPathNormalized ¶ added in v1.0.14
WindowsPathNormalized 转换路径分隔符为 Windows 样式。
Types ¶
type BotMessage ¶ added in v1.0.28
type BotSender ¶ added in v1.0.28
type BotSender interface {
Send(v BotMessage) error
}
type DbColumnSchema ¶ added in v1.0.14
type DbColumnSchema struct { TableCatalog string `db:"TABLE_CATALOG"` TableSchema string `db:"TABLE_SCHEMA"` TableName string `db:"TABLE_NAME"` ColumnName string `db:"COLUMN_NAME"` OrdinalPosition uint64 `db:"ORDINAL_POSITION"` ColumnDefault sql.NullString `db:"COLUMN_DEFAULT"` IsNullable string `db:"IS_NULLABLE"` DataType string `db:"DATA_TYPE"` CharacterMaximumLength sql.NullInt64 `db:"CHARACTER_MAXIMUM_LENGTH"` CharacterOctetLength sql.NullInt64 `db:"CHARACTER_OCTET_LENGTH"` NumericPrecision sql.NullInt64 `db:"NUMERIC_PRECISION"` NumericScale sql.NullInt64 `db:"NUMERIC_SCALE"` DatetimePrecision sql.NullInt64 `db:"DATETIME_PRECISION"` CharacterSetName sql.NullString `db:"CHARACTER_SET_NAME"` CollationName sql.NullString `db:"COLLATION_NAME"` ColumnType string `db:"COLUMN_TYPE"` ColumnKey string `db:"COLUMN_KEY"` Extra string `db:"EXTRA"` Privileges string `db:"PRIVILEGES"` ColumnComment string `db:"COLUMN_COMMENT"` GenerationExpression string `db:"GENERATION_EXPRESSION"` }
func GetColumnSchemas ¶ added in v1.0.14
func GetColumnSchemas(db *sql.DB, database, tableName string) ([]*DbColumnSchema, error)
type DbSchema ¶ added in v1.0.15
type DbTableSchema ¶ added in v1.0.14
type DbTableSchema struct { TableCatalog string `db:"TABLE_CATALOG"` TableSchema string `db:"TABLE_SCHEMA"` TableName string `db:"TABLE_NAME"` TableType string `db:"TABLE_TYPE"` Engine sql.NullString `db:"ENGINE"` Version sql.NullInt64 `db:"VERSION"` RowFormat sql.NullString `db:"ROW_FORMAT"` TableRows sql.NullInt64 `db:"TABLE_ROWS"` AvgRowLength sql.NullInt64 `db:"AVG_ROW_LENGTH"` DataLength sql.NullInt64 `db:"DATA_LENGTH"` MaxDataLength sql.NullInt64 `db:"MAX_DATA_LENGTH"` IndexLength sql.NullInt64 `db:"INDEX_LENGTH"` DataFree sql.NullInt64 `db:"DATA_FREE"` AutoIncrement sql.NullInt64 `db:"AUTO_INCREMENT"` CreateTime sql.NullString `db:"CREATE_TIME"` UpdateTime sql.NullString `db:"UPDATE_TIME"` CheckTime sql.NullString `db:"CHECK_TIME"` TableCollation sql.NullString `db:"TABLE_COLLATION"` Checksum sql.NullInt64 `db:"CHECKSUM"` CreateOptions sql.NullString `db:"CREATE_OPTIONS"` TableComment string `db:"TABLE_COMMENT"` }
func GetTableSchema ¶ added in v1.0.14
func GetTableSchema(db *sql.DB, database, tableName string) (*DbTableSchema, error)
func GetTableSchemas ¶ added in v1.0.14
func GetTableSchemas(db *sql.DB, database string) ([]*DbTableSchema, error)
type DingtalkActionCardMessage ¶ added in v1.0.28
type DingtalkActionCardMessage struct { Msgtype string `json:"msgtype"` ActionCard struct { Title string `json:"title"` Text string `json:"text"` BtnOrientation string `json:"btnOrientation,omitempty"` Btns []DingtalkActionCardMessageButton `json:"btns,omitempty"` } `json:"actionCard"` }
func NewDingtalkActionCardMessage ¶ added in v1.0.28
func NewDingtalkActionCardMessage(title, content string) *DingtalkActionCardMessage
func (*DingtalkActionCardMessage) AddButton ¶ added in v1.0.28
func (s *DingtalkActionCardMessage) AddButton(title, actionUrl string)
func (*DingtalkActionCardMessage) Body ¶ added in v1.0.28
func (s *DingtalkActionCardMessage) Body() ([]byte, error)
type DingtalkActionCardMessageButton ¶ added in v1.0.28
type DingtalkActionCardSingleMessage ¶ added in v1.0.29
type DingtalkActionCardSingleMessage struct { ActionCard struct { Title string `json:"title"` Text string `json:"text"` BtnOrientation string `json:"btnOrientation"` SingleTitle string `json:"singleTitle"` SingleURL string `json:"singleURL"` } `json:"actionCard"` Msgtype string `json:"msgtype"` }
func NewDingtalkActionCardSingleMessage ¶ added in v1.0.29
func NewDingtalkActionCardSingleMessage(title, content, singleTitle, singleURL string) *DingtalkActionCardSingleMessage
func (*DingtalkActionCardSingleMessage) Body ¶ added in v1.0.29
func (s *DingtalkActionCardSingleMessage) Body() ([]byte, error)
type DingtalkBotSender ¶ added in v1.0.28
func (*DingtalkBotSender) Send ¶ added in v1.0.28
func (s *DingtalkBotSender) Send(v BotMessage) error
type DingtalkFeedCardMessage ¶ added in v1.0.28
type DingtalkFeedCardMessage struct { Msgtype string `json:"msgtype"` FeedCard struct { Links []DingtalkFeedCardMessageLink `json:"links"` } `json:"feedCard"` }
func NewDingtalkFeedCardMessage ¶ added in v1.0.28
func NewDingtalkFeedCardMessage() *DingtalkFeedCardMessage
func (*DingtalkFeedCardMessage) AddLink ¶ added in v1.0.28
func (s *DingtalkFeedCardMessage) AddLink(title, messageURL, picURL string)
func (*DingtalkFeedCardMessage) Body ¶ added in v1.0.28
func (s *DingtalkFeedCardMessage) Body() ([]byte, error)
type DingtalkFeedCardMessageLink ¶ added in v1.0.28
type DingtalkLinkMessage ¶ added in v1.0.28
type DingtalkLinkMessage struct { Msgtype string `json:"msgtype"` Link struct { Text string `json:"text"` Title string `json:"title"` PicURL string `json:"picUrl,omitempty"` MessageURL string `json:"messageUrl"` } `json:"link"` }
func NewDingtalkLinkMessage ¶ added in v1.0.28
func NewDingtalkLinkMessage(title, content, messageUrl, picUrl string) *DingtalkLinkMessage
func (*DingtalkLinkMessage) Body ¶ added in v1.0.28
func (s *DingtalkLinkMessage) Body() ([]byte, error)
type DingtalkMarkdownMessage ¶ added in v1.0.28
type DingtalkMarkdownMessage struct { Msgtype string `json:"msgtype"` Markdown struct { Title string `json:"title"` Text string `json:"text"` } `json:"markdown"` At struct { AtMobiles []string `json:"atMobiles,omitempty"` AtUserIds []string `json:"atUserIds,omitempty"` IsAtAll bool `json:"isAtAll,omitempty"` } `json:"at,omitempty"` }
func NewDingtalkMarkdownMessage ¶ added in v1.0.28
func NewDingtalkMarkdownMessage(title, content string, atAll bool) *DingtalkMarkdownMessage
func (*DingtalkMarkdownMessage) AtMobiles ¶ added in v1.0.28
func (s *DingtalkMarkdownMessage) AtMobiles(mobiles ...string)
func (*DingtalkMarkdownMessage) AtUserIds ¶ added in v1.0.28
func (s *DingtalkMarkdownMessage) AtUserIds(userIds ...string)
func (*DingtalkMarkdownMessage) Body ¶ added in v1.0.28
func (s *DingtalkMarkdownMessage) Body() ([]byte, error)
type DingtalkTextMessage ¶ added in v1.0.28
type DingtalkTextMessage struct { At struct { AtMobiles []string `json:"atMobiles,omitempty"` AtUserIds []string `json:"atUserIds,omitempty"` IsAtAll bool `json:"isAtAll,omitempty"` } `json:"at,omitempty"` Text struct { Content string `json:"content"` } `json:"text"` Msgtype string `json:"msgtype"` }
func NewDingtalkTextMessage ¶ added in v1.0.28
func NewDingtalkTextMessage(title, content string, atAll bool) *DingtalkTextMessage
func (*DingtalkTextMessage) AtMobiles ¶ added in v1.0.28
func (s *DingtalkTextMessage) AtMobiles(mobiles ...string)
func (*DingtalkTextMessage) AtUserIds ¶ added in v1.0.28
func (s *DingtalkTextMessage) AtUserIds(userIds ...string)
func (*DingtalkTextMessage) Body ¶ added in v1.0.28
func (s *DingtalkTextMessage) Body() ([]byte, error)
type FeishuBotSender ¶ added in v1.0.28
type FeishuBotSender struct { AccessToken string SecretKey string TenantAccessToken string // 租户访问凭证, 用于上传图片 }
func (*FeishuBotSender) Send ¶ added in v1.0.28
func (s *FeishuBotSender) Send(v BotMessage) error
func (*FeishuBotSender) UploadImage ¶ added in v1.0.29
func (s *FeishuBotSender) UploadImage(filename string) (string, error)
type FeishuCardMessage ¶ added in v1.0.28
type FeishuCardMessage struct { Card struct { Config struct { WideScreenMode bool `json:"wide_screen_mode"` EnableForward bool `json:"enable_forward"` } `json:"config"` Elements []feishuCardMessageElement `json:"elements"` Header struct { Title struct { Content string `json:"content"` Tag string `json:"tag"` } `json:"title"` } `json:"header"` } `json:"card"` // contains filtered or unexported fields }
func NewFeishuCardMessage ¶ added in v1.0.28
func NewFeishuCardMessage(title string) *FeishuCardMessage
func (*FeishuCardMessage) AddButton ¶ added in v1.0.28
func (s *FeishuCardMessage) AddButton(label, href string)
func (*FeishuCardMessage) AddLineContent ¶ added in v1.0.28
func (s *FeishuCardMessage) AddLineContent(v string)
func (*FeishuCardMessage) AddSplitLine ¶ added in v1.0.28
func (s *FeishuCardMessage) AddSplitLine()
func (*FeishuCardMessage) Body ¶ added in v1.0.28
func (s *FeishuCardMessage) Body() ([]byte, error)
func (*FeishuCardMessage) String ¶ added in v1.0.28
func (s *FeishuCardMessage) String() string
type FeishuRichMessage ¶ added in v1.0.28
type FeishuRichMessage struct { Content struct { Post struct { ZhCn struct { Title string `json:"title"` Content [][]feishuRichMessageContent `json:"content"` } `json:"zh_cn"` } `json:"post"` } `json:"content"` ContentPosition int `json:"-"` // contains filtered or unexported fields }
func NewFeishuRichMessage ¶ added in v1.0.28
func NewFeishuRichMessage(title string) *FeishuRichMessage
func (*FeishuRichMessage) AddAt ¶ added in v1.0.28
func (s *FeishuRichMessage) AddAt(userId string)
func (*FeishuRichMessage) AddHref ¶ added in v1.0.28
func (s *FeishuRichMessage) AddHref(label, href string)
func (*FeishuRichMessage) AddText ¶ added in v1.0.28
func (s *FeishuRichMessage) AddText(v string)
func (*FeishuRichMessage) Body ¶ added in v1.0.28
func (s *FeishuRichMessage) Body() ([]byte, error)
func (*FeishuRichMessage) NewContent ¶ added in v1.0.28
func (s *FeishuRichMessage) NewContent()
func (*FeishuRichMessage) String ¶ added in v1.0.28
func (s *FeishuRichMessage) String() string
type FeishuTextMessage ¶ added in v1.0.28
type FeishuTextMessage struct { Content struct { Text string `json:"text"` } `json:"content"` // contains filtered or unexported fields }
func NewFeishuTextMessage ¶ added in v1.0.28
func NewFeishuTextMessage(content string) *FeishuTextMessage
NewFeishuTextMessage 创建飞书文本消息。
func (*FeishuTextMessage) Body ¶ added in v1.0.28
func (s *FeishuTextMessage) Body() ([]byte, error)
func (*FeishuTextMessage) String ¶ added in v1.0.28
func (s *FeishuTextMessage) String() string
type Formatter ¶
type Formatter struct { // FieldsOrder - default: fields sorted alphabetically FieldsOrder []string // TimestampFormat - default: time.StampMilli = "Jan _2 15:04:05.000" TimestampFormat string HideTime bool HideLevel bool // HideKeys - show [fieldValue] instead of [fieldKey:fieldValue] HideKeys bool // NoColors - disable colors NoColors bool // NoFieldsColors - apply colors only to the level, default is level + fields NoFieldsColors bool // NoFieldsSpace - no space between fields NoFieldsSpace bool // ShowFullLevel - show a full level [WARNING] instead of [WARN] ShowFullLevel bool // NoUppercaseLevel - no upper case for level value NoUppercaseLevel bool // TrimMessages - trim whitespaces on messages TrimMessages bool // CallerFirst - print caller info first CallerFirst bool // CustomCallerFormatter - set custom formatter for caller info CustomCallerFormatter func(*runtime.Frame) string }
Formatter - logrus formatter, implements logrus.Formatter
type HashAlgorithm ¶ added in v1.0.1
type HashAlgorithm string
const ( Md5 HashAlgorithm = "md5" Sha1 HashAlgorithm = "sha1" Sha224 HashAlgorithm = "sha224" Sha256 HashAlgorithm = "sha256" Sha384 HashAlgorithm = "sha384" Sha512 HashAlgorithm = "sha512" )
type HttpClient ¶ added in v1.0.11
type HttpClient struct { ProgressBar ProgressBar Transport *http.Transport }
func NewHttpClient ¶ added in v1.0.11
func NewHttpClient(opts ...HttpClientOption) *HttpClient
func (*HttpClient) Delete ¶ added in v1.0.11
func (h *HttpClient) Delete(uri string, r *HttpRequest) (*HttpResponse, error)
func (*HttpClient) Get ¶ added in v1.0.11
func (h *HttpClient) Get(uri string, r *HttpRequest) (*HttpResponse, error)
func (*HttpClient) Head ¶ added in v1.0.11
func (h *HttpClient) Head(uri string, r *HttpRequest) (*HttpResponse, error)
func (*HttpClient) Options ¶ added in v1.0.11
func (h *HttpClient) Options(uri string, r *HttpRequest) (*HttpResponse, error)
func (*HttpClient) Patch ¶ added in v1.0.11
func (h *HttpClient) Patch(uri string, r *HttpRequest) (*HttpResponse, error)
func (*HttpClient) Post ¶ added in v1.0.11
func (h *HttpClient) Post(uri string, r *HttpRequest) (*HttpResponse, error)
func (*HttpClient) Put ¶ added in v1.0.11
func (h *HttpClient) Put(uri string, r *HttpRequest) (*HttpResponse, error)
func (*HttpClient) Request ¶ added in v1.0.11
func (h *HttpClient) Request(method, uri string, r *HttpRequest) (*HttpResponse, error)
type HttpClientOption ¶ added in v1.0.12
type HttpClientOption func(*HttpClient)
func HttpClientOptionWithProgressBar ¶ added in v1.0.12
func HttpClientOptionWithProgressBar(w ProgressBar) HttpClientOption
func HttpClientOptionWithTransport ¶ added in v1.0.30
func HttpClientOptionWithTransport(tr *http.Transport) HttpClientOption
type HttpRequest ¶ added in v1.0.11
type HttpRequest struct { // 超时 (默认值: 60s) Timeout time.Duration // 查询参数 Query interface{} // 请求头信息 Headers map[string]interface{} // Cookie 信息 Cookies interface{} // CookieJar 对象 CookieJar http.CookieJar // POST 表单参数 FormParams map[string]interface{} // Text 数据参数 Text string // JSON 数据参数 JSON interface{} // XML 数据参数 XML interface{} // 代理服务器地址 Proxy string // 是否服务器响应非 200 状态时,返回 error? AllowNon200Response bool // 下载到本地文件 ToFile string // 是否显示进度条? ProgressBar bool // HTTP Basic 认证用户名 Username string // HTTP Basic 认证密码 Password string }
type HttpResponse ¶ added in v1.0.11
type HttpResponse struct { StatusCode int RequestURI string Header http.Header ContentType string ContentLength int64 Body []byte }
func (HttpResponse) String ¶ added in v1.0.11
func (h HttpResponse) String() string
func (HttpResponse) ToFile ¶ added in v1.0.11
func (h HttpResponse) ToFile(filename string) error
func (HttpResponse) ToJson ¶ added in v1.0.11
func (h HttpResponse) ToJson(v interface{}) error
func (HttpResponse) ToString ¶ added in v1.0.11
func (h HttpResponse) ToString() string
func (HttpResponse) ToXml ¶ added in v1.0.11
func (h HttpResponse) ToXml(v interface{}) error
func (HttpResponse) ToYaml ¶ added in v1.0.12
func (h HttpResponse) ToYaml(v interface{}) error
type ProcessOption ¶ added in v1.0.31
type ProcessOption func(*SubProcess)
func ProcessOptionWithTimeout ¶ added in v1.0.31
func ProcessOptionWithTimeout(timeout time.Duration) ProcessOption
func ProcessOptionWithWriter ¶ added in v1.0.31
func ProcessOptionWithWriter(w io.Writer) ProcessOption
type ProcessOutLineHandle ¶ added in v1.0.17
type ProcessOutLineHandle func(line string)
type ProgressBar ¶ added in v1.0.12
type SSHClient ¶
type SSHClient struct { // RSA 私钥证书路径或全文内容 PrivateKey string // 主机 Domain/IP 地址 Host string // SSH 端口 Port int // SSH 登录用户名 User string // SSH 登录密码 Password string // 静默方式: 不输出 Stdout 信息 Quiet bool // 是否已连接? Connected bool // SSH 客户端实例 Client *ssh.Client // 代理服务器地址 (支持 http,https,socks5,socks5h, 例如: http://127.0.0.1:3128, socks5://127.0.0.1:1080) Proxy string // 超时时间 (默认不超时) Timeout time.Duration // 开启 TTY 终端模式 TTY bool // 缓冲区大小 (默认: 8192 bytes) ChunkSize uint16 // SSH 隧道 Tunnel *SSHTunnel }
SSHClient SSH 客户端
func NewSSHClient ¶
func (*SSHClient) RunWithWriter ¶ added in v1.0.6
type SSHClientOption ¶ added in v1.0.4
type SSHClientOption func(*SSHClient)
func SSHOptionWithChunkSize ¶ added in v1.0.7
func SSHOptionWithChunkSize(chunkSize uint16) SSHClientOption
func SSHOptionWithPassword ¶ added in v1.0.32
func SSHOptionWithPassword(password string) SSHClientOption
func SSHOptionWithProxy ¶ added in v1.0.4
func SSHOptionWithProxy(proxyUrl string) SSHClientOption
SSHOptionWithProxy 支持 http/https/socks5/socks5h 代理协议。
func SSHOptionWithTimeout ¶ added in v1.0.4
func SSHOptionWithTimeout(timeout time.Duration) SSHClientOption
func SSHOptionWithTunnel ¶ added in v1.0.19
func SSHOptionWithTunnel(tunnel *SSHTunnel) SSHClientOption
type SSHTunnel ¶ added in v1.0.19
type SSHTunnel struct { // 本地 Local *SSHTunnelEndpoint // 隧道主机 Server *SSHTunnelEndpoint // 目标主机 Remote *SSHTunnelEndpoint // SSH 客户端配置 Config *ssh.ClientConfig // contains filtered or unexported fields }
type SSHTunnelEndpoint ¶ added in v1.0.19
func (*SSHTunnelEndpoint) String ¶ added in v1.0.19
func (endpoint *SSHTunnelEndpoint) String() string
type SubProcess ¶
type SubProcess struct { Option *SubProcessOption // contains filtered or unexported fields }
func NewSubProcess ¶
func NewSubProcess() *SubProcess
func NewSubProcessWithOptions ¶ added in v1.0.31
func NewSubProcessWithOptions(opt ...ProcessOption) *SubProcess
type SubProcessOption ¶
type SubProcessOption struct { Debug bool Quiet bool Timeout time.Duration HandleFunc ProcessOutLineHandle Shell bool Env []string Writer io.Writer }
func DefaultSubProcessOption ¶ added in v1.0.31
func DefaultSubProcessOption() *SubProcessOption
type WxWorkBotSender ¶ added in v1.0.28
type WxWorkBotSender struct {
AccessToken string
}
func (*WxWorkBotSender) Send ¶ added in v1.0.28
func (s *WxWorkBotSender) Send(v BotMessage) error
func (*WxWorkBotSender) UploadMedia ¶ added in v1.0.29
func (s *WxWorkBotSender) UploadMedia(filename string) (string, error)
type WxWorkFileMessage ¶ added in v1.0.28
type WxWorkFileMessage struct { Msgtype string `json:"msgtype"` File struct { MediaID string `json:"media_id"` } `json:"file"` }
func NewWxWorkFileMessage ¶ added in v1.0.28
func NewWxWorkFileMessage(mediaId string) *WxWorkFileMessage
func (*WxWorkFileMessage) Body ¶ added in v1.0.28
func (s *WxWorkFileMessage) Body() ([]byte, error)
type WxWorkImageMessage ¶ added in v1.0.28
type WxWorkImageMessage struct { Msgtype string `json:"msgtype"` Image struct { Base64 string `json:"base64"` Md5 string `json:"md5"` } `json:"image"` }
func NewWxWorkImageMessage ¶ added in v1.0.28
func NewWxWorkImageMessage(filePath string) (*WxWorkImageMessage, error)
func (*WxWorkImageMessage) Body ¶ added in v1.0.28
func (s *WxWorkImageMessage) Body() ([]byte, error)
type WxWorkMarkdownMessage ¶ added in v1.0.28
type WxWorkMarkdownMessage struct { Msgtype string `json:"msgtype"` Markdown struct { Content string `json:"content"` } `json:"markdown"` }
func NewWxWorkMarkdownMessage ¶ added in v1.0.28
func NewWxWorkMarkdownMessage(content string) *WxWorkMarkdownMessage
func (*WxWorkMarkdownMessage) Body ¶ added in v1.0.28
func (s *WxWorkMarkdownMessage) Body() ([]byte, error)
type WxWorkNewsMessage ¶ added in v1.0.28
type WxWorkNewsMessage struct { Msgtype string `json:"msgtype"` News struct { Articles []wxWorkNewsMessageArticle `json:"articles"` } `json:"news"` }
func NewWxWorkNewsMessage ¶ added in v1.0.28
func NewWxWorkNewsMessage() *WxWorkNewsMessage
func (*WxWorkNewsMessage) AddArticle ¶ added in v1.0.28
func (s *WxWorkNewsMessage) AddArticle(title, description, url, picurl string)
func (*WxWorkNewsMessage) Body ¶ added in v1.0.28
func (s *WxWorkNewsMessage) Body() ([]byte, error)
type WxWorkNewsNoticeMessage ¶ added in v1.0.29
type WxWorkNewsNoticeMessage struct { Msgtype string `json:"msgtype"` TemplateCard struct { CardType string `json:"card_type"` Source struct { IconURL string `json:"icon_url,omitempty"` Desc string `json:"desc,omitempty"` DescColor int `json:"desc_color,omitempty"` } `json:"source,omitempty"` MainTitle struct { Title string `json:"title"` Desc string `json:"desc,omitempty"` } `json:"main_title"` CardImage struct { URL string `json:"url"` AspectRatio float64 `json:"aspect_ratio,omitempty"` } `json:"card_image"` ImageTextArea struct { Type int `json:"type,omitempty"` URL string `json:"url,omitempty"` Title string `json:"title,omitempty"` Desc string `json:"desc,omitempty"` ImageURL string `json:"image_url"` } `json:"image_text_area,omitempty"` QuoteArea struct { Type int `json:"type,omitempty"` URL string `json:"url,omitempty"` Appid string `json:"appid,omitempty"` Pagepath string `json:"pagepath,omitempty"` Title string `json:"title,omitempty"` QuoteText string `json:"quote_text,omitempty"` } `json:"quote_area,omitempty"` VerticalContentList []struct { Title string `json:"title"` Desc string `json:"desc,omitempty"` } `json:"vertical_content_list,omitempty"` HorizontalContentList []struct { Keyname string `json:"keyname"` Value string `json:"value,omitempty"` Type int `json:"type,omitempty"` URL string `json:"url,omitempty"` MediaID string `json:"media_id,omitempty"` } `json:"horizontal_content_list,omitempty"` JumpList []struct { Type int `json:"type,omitempty"` URL string `json:"url,omitempty"` Title string `json:"title"` Appid string `json:"appid,omitempty"` Pagepath string `json:"pagepath,omitempty"` } `json:"jump_list,omitempty"` CardAction struct { Type int `json:"type"` URL string `json:"url,omitempty"` Appid string `json:"appid,omitempty"` Pagepath string `json:"pagepath,omitempty"` } `json:"card_action"` } `json:"template_card"` }
func NewWxWorkNewsNoticeMessage ¶ added in v1.0.29
func NewWxWorkNewsNoticeMessage() *WxWorkNewsNoticeMessage
func (*WxWorkNewsNoticeMessage) Body ¶ added in v1.0.29
func (s *WxWorkNewsNoticeMessage) Body() ([]byte, error)
type WxWorkTextMessage ¶ added in v1.0.28
type WxWorkTextMessage struct { Msgtype string `json:"msgtype"` Text struct { Content string `json:"content"` MentionedList []string `json:"mentioned_list"` MentionedMobileList []string `json:"mentioned_mobile_list"` } `json:"text"` }
func NewWxWorkTextMessage ¶ added in v1.0.28
func NewWxWorkTextMessage(content string) *WxWorkTextMessage
func (*WxWorkTextMessage) AtAll ¶ added in v1.0.28
func (s *WxWorkTextMessage) AtAll()
func (*WxWorkTextMessage) AtMobiles ¶ added in v1.0.28
func (s *WxWorkTextMessage) AtMobiles(mobiles ...string)
func (*WxWorkTextMessage) AtUserIds ¶ added in v1.0.28
func (s *WxWorkTextMessage) AtUserIds(userIds ...string)
func (*WxWorkTextMessage) Body ¶ added in v1.0.28
func (s *WxWorkTextMessage) Body() ([]byte, error)
type WxWorkTextNoticeMessage ¶ added in v1.0.29
type WxWorkTextNoticeMessage struct { Msgtype string `json:"msgtype"` TemplateCard struct { CardType string `json:"card_type"` Source struct { IconURL string `json:"icon_url,omitempty"` Desc string `json:"desc,omitempty"` DescColor int `json:"desc_color,omitempty"` } `json:"source,omitempty"` MainTitle struct { Title string `json:"title,omitempty"` Desc string `json:"desc,omitempty"` } `json:"main_title"` EmphasisContent struct { Title string `json:"title,omitempty"` Desc string `json:"desc,omitempty"` } `json:"emphasis_content,omitempty"` QuoteArea struct { Type int `json:"type,omitempty"` URL string `json:"url,omitempty"` Appid string `json:"appid,omitempty"` Pagepath string `json:"pagepath,omitempty"` Title string `json:"title,omitempty"` QuoteText string `json:"quote_text,omitempty"` } `json:"quote_area,omitempty"` SubTitleText string `json:"sub_title_text,omitempty"` HorizontalContentList []struct { Keyname string `json:"keyname"` Value string `json:"value,omitempty"` Type int `json:"type,omitempty"` URL string `json:"url,omitempty"` MediaID string `json:"media_id,omitempty"` } `json:"horizontal_content_list,omitempty"` JumpList []struct { Type int `json:"type,omitempty"` URL string `json:"url,omitempty"` Title string `json:"title"` Appid string `json:"appid,omitempty"` Pagepath string `json:"pagepath,omitempty"` } `json:"jump_list,omitempty"` CardAction struct { Type int `json:"type"` URL string `json:"url,omitempty"` Appid string `json:"appid,omitempty"` Pagepath string `json:"pagepath,omitempty"` } `json:"card_action"` } `json:"template_card"` }
func NewWxWorkTextNoticeMessage ¶ added in v1.0.29
func NewWxWorkTextNoticeMessage() *WxWorkTextNoticeMessage
func (*WxWorkTextNoticeMessage) Body ¶ added in v1.0.29
func (s *WxWorkTextNoticeMessage) Body() ([]byte, error)