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 HSHA3(s, key string) string
- func HSHA256(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 SHA3(s string) string
- func SHA256(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)