package safehttp import ( "bytes" "context" "git.ilapage.cn/OPC/chorus/internal/core/provider" ) type ProviderClient struct{ client *Client } func NewProviderClient(client *Client) *ProviderClient { return &ProviderClient{client: client} } func (c *ProviderClient) Do(ctx context.Context, request provider.HTTPRequest) (provider.HTTPResponse, error) { response, err := c.client.Do(ctx, Request{ Method: request.Method, URL: request.URL, Header: request.Header, Body: bytes.NewReader(request.Body), MaxBytes: request.MaxBytes, }) return provider.HTTPResponse{StatusCode: response.StatusCode, ContentType: response.ContentType, Body: response.Body}, err } func (c *ProviderClient) Fetch(ctx context.Context, rawURL string, maxBytes int64) (provider.HTTPResponse, error) { response, err := c.client.Fetch(ctx, rawURL, maxBytes) return provider.HTTPResponse{StatusCode: response.StatusCode, ContentType: response.ContentType, Body: response.Body}, err } var _ provider.HTTPClient = (*ProviderClient)(nil)