mirror of
https://github.com/CJackHwang/ds2api.git
synced 2026-05-05 00:45:29 +08:00
46 lines
1018 B
Go
46 lines
1018 B
Go
package deepseek
|
|
|
|
import (
|
|
"context"
|
|
"net/http"
|
|
"time"
|
|
|
|
"ds2api/internal/auth"
|
|
"ds2api/internal/config"
|
|
trans "ds2api/internal/deepseek/transport"
|
|
"ds2api/internal/devcapture"
|
|
"ds2api/internal/util"
|
|
)
|
|
|
|
// intFrom is a package-internal alias for the shared util version.
|
|
var intFrom = util.IntFrom
|
|
|
|
type Client struct {
|
|
Store *config.Store
|
|
Auth *auth.Resolver
|
|
capture *devcapture.Store
|
|
regular trans.Doer
|
|
stream trans.Doer
|
|
fallback *http.Client
|
|
fallbackS *http.Client
|
|
maxRetries int
|
|
}
|
|
|
|
func NewClient(store *config.Store, resolver *auth.Resolver) *Client {
|
|
return &Client{
|
|
Store: store,
|
|
Auth: resolver,
|
|
capture: devcapture.Global(),
|
|
regular: trans.New(60 * time.Second),
|
|
stream: trans.New(0),
|
|
fallback: &http.Client{Timeout: 60 * time.Second},
|
|
fallbackS: &http.Client{Timeout: 0},
|
|
maxRetries: 3,
|
|
}
|
|
}
|
|
|
|
// PreloadPow 保留兼容接口,纯 Go 实现无需预加载。
|
|
func (c *Client) PreloadPow(_ context.Context) error {
|
|
return nil
|
|
}
|