utils

package
v1.0.168 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 2, 2024 License: Apache-2.0 Imports: 12 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GenRequestId

func GenRequestId() string

func Retry added in v1.0.143

func Retry(ctx context.Context,
	rp RetryPolicy,
	isNeedRetry func() bool,
	doFunc func() error, overRetryLimitError error,
	isNeedRetryError func(error) bool,
) error

Types

type BotChatCompletionStreamReader added in v1.0.146

type BotChatCompletionStreamReader struct {
	ChatCompletionStreamReader
}

func (*BotChatCompletionStreamReader) Close added in v1.0.146

func (stream *BotChatCompletionStreamReader) Close() error

func (*BotChatCompletionStreamReader) Recv added in v1.0.146

type ChatCompletionStreamReader

type ChatCompletionStreamReader struct {
	EmptyMessagesLimit uint
	IsFinished         bool

	Reader         *bufio.Reader
	Response       *http.Response
	ErrAccumulator ErrorAccumulator
	Unmarshaler    Unmarshaler

	model.HttpHeader
}

func (*ChatCompletionStreamReader) Close

func (stream *ChatCompletionStreamReader) Close() error

func (*ChatCompletionStreamReader) Recv

func (stream *ChatCompletionStreamReader) Recv() (response model.ChatCompletionStreamResponse, err error)

type DefaultErrorAccumulator

type DefaultErrorAccumulator struct {
	Buffer errorBuffer
}

func (*DefaultErrorAccumulator) Bytes

func (e *DefaultErrorAccumulator) Bytes() (errBytes []byte)

func (*DefaultErrorAccumulator) Write

func (e *DefaultErrorAccumulator) Write(p []byte) error

type ErrorAccumulator

type ErrorAccumulator interface {
	Write(p []byte) error
	Bytes() []byte
}

func NewErrorAccumulator

func NewErrorAccumulator() ErrorAccumulator

type HTTPRequestBuilder

type HTTPRequestBuilder struct {
	// contains filtered or unexported fields
}

func NewRequestBuilder

func NewRequestBuilder() *HTTPRequestBuilder

func (*HTTPRequestBuilder) Build

func (b *HTTPRequestBuilder) Build(
	ctx context.Context,
	method string,
	url string,
	body interface{},
	header http.Header,
) (req *http.Request, err error)

type JSONMarshaller

type JSONMarshaller struct{}

func (*JSONMarshaller) Marshal

func (jm *JSONMarshaller) Marshal(value interface{}) ([]byte, error)

type JSONUnmarshaler

type JSONUnmarshaler struct{}

func (*JSONUnmarshaler) Unmarshal

func (jm *JSONUnmarshaler) Unmarshal(data []byte, v interface{}) error

type Marshaller

type Marshaller interface {
	Marshal(value interface{}) ([]byte, error)
}

type RequestBuilder

type RequestBuilder interface {
	Build(ctx context.Context, method, url string, body interface{}, header http.Header) (*http.Request, error)
}

type RetryPolicy added in v1.0.143

type RetryPolicy struct {
	MaxAttempts    int
	InitialBackoff time.Duration
	MaxBackoff     time.Duration
}

type Unmarshaler

type Unmarshaler interface {
	Unmarshal(data []byte, v interface{}) error
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL