Documentation ¶
Index ¶
Constants ¶
View Source
const ( HostJPushAdminV1 = "https://admin.jpush.cn" HostJPushDeviceV3 = "https://device.jpush.cn" HostJPushPushV3 = "https://api.jpush.cn" HostJPushReportV3 = "https://report.jpush.cn" )
Variables ¶
View Source
var ( ErrNilJPushAdminAPIv1 = newNilAPIError("jpush", "admin", 1) ErrNilJPushDeviceAPIv3 = newNilAPIError("jpush", "device", 3) ErrNilJPushPushAPIv3 = newNilAPIError("jpush", "push", 3) ErrNilJPushGroupPushAPIv3 = newNilAPIError("jpush", "group push", 3) ErrNilJPushScheduleAPIv3 = newNilAPIError("jpush", "schedule", 3) ErrNilJPushFileAPIv3 = newNilAPIError("jpush", "file", 3) ErrNilJPushImageAPIv3 = newNilAPIError("jpush", "image", 3) ErrNilJPushReportAPIv3 = newNilAPIError("jpush", "report", 3) ErrNilJPushGroupReportAPIv3 = newNilAPIError("jpush", "group report", 3) )
View Source
var DefaultLogger jiguang.Logger = jiguang.NewStdLogger()
DefaultLogger 是在 API 没有提供自定义 Logger 时使用的默认 Logger。
Functions ¶
This section is empty.
Types ¶
type CodeError ¶
type CodeError struct { Code int `json:"code"` // 错误返回码,0 表示成功,非 0 表示失败。 Message string `json:"message,omitempty"` // 错误描述说明。 }
极光 REST API 的通用错误响应封装。
type FileValidator ¶
type FileValidator struct { MaxSize int64 // 最大文件大小(字节) AllowedMimes []string // 允许的文件 MIME 类型(如 "image/png"、"text/plain" 等) AllowedExts []string // 允许的文件扩展名(如 ".png"、".txt" 等) }
文件校验器,用于校验文件的大小、MIME 类型和扩展名等。
type FormFile ¶
type FormFile struct { FieldName string // 字段名称 FileName string // 文件名(如果 FileData 能获取到,该字段可选) FileData interface{} // 文件路径或文件数据流(如果是文件数据流,请在上传完毕后自行关闭) }
文件表单字段。
type HttpClient ¶
type HttpClient interface { // 探测给定 URL 对应服务器支持的 HTTP 协议版本,如 "HTTP/1.0"、"HTTP/1.1"、"HTTP/2.0" 等。 DetectProto(url string) string // 使用 JSON 正文 `Content-Type: application/json;charset=UTF-8` 发送 HTTP 请求。 Request(ctx context.Context, req *Request) (resp *Response, err error) // 使用多部分表单数据正文 `Content-Type: multipart/form-data; boundary=...` 发送 HTTP 请求。 FormRequest(ctx context.Context, req *Request) (resp *Response, err error) }
HttpClient 定义了一个发送带有 JSON 或多部分表单数据正文负载的 HTTP 请求的接口。
func NewHttpClient ¶
func NewHttpClient(client Client, logger jiguang.Logger, level HttpLogLevel) HttpClient
type HttpLogLevel ¶
type HttpLogLevel uint8
HTTP 日志记录级别:用于指定记录 API 的 HTTP 请求和响应的日志信息的详细程度。
const ( HttpLogLevelNone HttpLogLevel = iota // 不记录任何日志。 HttpLogLevelBasic // 仅记录请求方法、URL、响应状态和耗时。 HttpLogLevelHeaders // 记录请求和响应的基本信息以及头部。 HttpLogLevelFull // 记录请求和响应的头部、正文和元数据。 )
func (HttpLogLevel) String ¶
func (level HttpLogLevel) String() string
type MultipartFormDataBody ¶
type MultipartFormDataBody struct { Fields []FormField // 普通表单字段列表 Files []FormFile // 文件表单字段列表 FileValidator *FileValidator // 可选的文件校验器 }
多部分表单数据的正文负载。
type Rate ¶
type Rate struct { Limit int `json:"limit"` // 当前在一个时间窗口内可调用次数。 Remaining int `json:"remaining"` // 当前的时间窗口剩余的可用次数。 Reset int64 `json:"reset"` // 当前距离时间窗口重置剩余的秒数。 }
API 频率控制信息。
type Request ¶
type Request struct { Method string // 请求方法 Proto string // 协议版本,如 "HTTP/1.0"、"HTTP/1.1"、"HTTP/2.0" 等。 URL string // 请求完整 URL Auth string // 请求授权信息 Body interface{} // 请求正文负载 }
极光 REST API 的 HTTP 请求原始请求封装。
type Response ¶
type Response struct { StatusCode int `json:"-"` // 状态码 Header http.Header `json:"-"` // 响应头部信息 RawBody []byte `json:"-"` // 原始响应正文 Rate Rate `json:"-"` // API 频率控制信息 }
极光 REST API 的 HTTP 请求原始响应封装。
func (*Response) RateRemaining ¶
当前的时间窗口剩余的可用次数。如果未设置或无法解析,则为 0。
Source Files ¶
Click to show internal directories.
Click to hide internal directories.