Documentation
¶
Overview ¶
Package handler provides HTTP client functionality and request building utilities for interacting with the dify API.
Index ¶
- func PutRequestBuilder(pool *sync.Pool, v *RequestBuilder)
- type Builder
- type Client
- type ClientOption
- type ClientOptions
- type Event
- type Request
- type RequestBuilder
- func (r *RequestBuilder) BaseURL(baseURL string) Builder
- func (r *RequestBuilder) Body(body any) Builder
- func (r *RequestBuilder) Build() (Request, error)
- func (r *RequestBuilder) Headers(headers map[string]string) Builder
- func (r *RequestBuilder) Method(method string) Builder
- func (r *RequestBuilder) Path(path string) Builder
- func (r *RequestBuilder) PathParm(param string) Builder
- func (r *RequestBuilder) Query(queryStruct any) Builder
- func (r *RequestBuilder) Reset()
- func (r *RequestBuilder) Token(token string) Builder
- type Response
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func PutRequestBuilder ¶
func PutRequestBuilder(pool *sync.Pool, v *RequestBuilder)
PutRequestBuilder puts a RequestBuilder back into the pool.
Types ¶
type Builder ¶
type Builder interface {
// BaseURL sets the base url for the request
BaseURL(baseURL string) Builder
// Path sets the Path relative to the base URL (e.g., "/v1/users").
Path(path string) Builder
// PathParm add a path parameter to the request Path.
PathParm(param string) Builder
// Token sets the token used in the request headers
Token(token string) Builder
// Method sets the http Method
Method(method string) Builder
// Body sets the request Body payload
Body(body any) Builder
// Query add a Query struct to the request.
Query(queryStruct any) Builder
// Headers .
Headers(headers map[string]string) Builder
// Build return the Request
Build() (Request, error)
}
Builder defines the interface for building an API request.
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a http client that execute requests.
func NewClient ¶
func NewClient(opts ...ClientOption) *Client
NewClient returns a client to execute requests.
type ClientOption ¶
type ClientOption func(options *ClientOptions)
ClientOption defines a functional option for configuring the client.
func WithTimeout ¶
func WithTimeout(timeout time.Duration) ClientOption
WithTimeout sets the timeout duration for the http client.
type ClientOptions ¶
ClientOptions defines config options for the client.
type Request ¶
type Request struct {
BaseURL string
AuthToken string
Path string
Method string
Body any
Headers map[string]string
Query []any
}
Request holds the config for a http request.
type RequestBuilder ¶
type RequestBuilder struct {
// contains filtered or unexported fields
}
RequestBuilder implements the Builder interface for constructing a Request.
func GetRequestBuilder ¶
func GetRequestBuilder(pool *sync.Pool) *RequestBuilder
GetRequestBuilder gets a RequestBuilder from the provided pool.
func NewRequestBuilder ¶
func NewRequestBuilder() *RequestBuilder
NewRequestBuilder creates a new instance of RequestBuilder.
func (*RequestBuilder) BaseURL ¶
func (r *RequestBuilder) BaseURL(baseURL string) Builder
BaseURL sets the base URL for the request.
func (*RequestBuilder) Body ¶
func (r *RequestBuilder) Body(body any) Builder
Body sets the request Body.
func (*RequestBuilder) Build ¶
func (r *RequestBuilder) Build() (Request, error)
Build return a request.
func (*RequestBuilder) Headers ¶
func (r *RequestBuilder) Headers(headers map[string]string) Builder
Headers add header to the request.
func (*RequestBuilder) Method ¶
func (r *RequestBuilder) Method(method string) Builder
Method sets the HTTP Method.
func (*RequestBuilder) Path ¶
func (r *RequestBuilder) Path(path string) Builder
Path sets the request Path.
func (*RequestBuilder) PathParm ¶
func (r *RequestBuilder) PathParm(param string) Builder
PathParm add a path parameter to the request Path.
func (*RequestBuilder) Query ¶
func (r *RequestBuilder) Query(queryStruct any) Builder
Query add a Query struct to the request.
func (*RequestBuilder) Token ¶
func (r *RequestBuilder) Token(token string) Builder
Token sets the authentication token.