diff --git a/answers.go b/answers.go index 3a20f2a..5a99078 100644 --- a/answers.go +++ b/answers.go @@ -40,12 +40,11 @@ func (c *Client) Answers(ctx context.Context, request AnswerRequest) (response A return } - req, err := http.NewRequest("POST", c.fullURL("/answers"), bytes.NewBuffer(reqBytes)) + req, err := http.NewRequestWithContext(ctx, http.MethodPost, c.fullURL("/answers"), bytes.NewBuffer(reqBytes)) if err != nil { return } - req = req.WithContext(ctx) err = c.sendRequest(req, &response) return } diff --git a/chat.go b/chat.go index c7d10b0..81e5a39 100644 --- a/chat.go +++ b/chat.go @@ -67,12 +67,11 @@ func (c *Client) CreateChatCompletion( } urlSuffix := "/chat/completions" - req, err := http.NewRequest("POST", c.fullURL(urlSuffix), bytes.NewBuffer(reqBytes)) + req, err := http.NewRequestWithContext(ctx, http.MethodPost, c.fullURL(urlSuffix), bytes.NewBuffer(reqBytes)) if err != nil { return } - req = req.WithContext(ctx) err = c.sendRequest(req, &response) return } diff --git a/completion.go b/completion.go index b40b9cd..74762c9 100644 --- a/completion.go +++ b/completion.go @@ -99,12 +99,11 @@ func (c *Client) CreateCompletion( } urlSuffix := "/completions" - req, err := http.NewRequest("POST", c.fullURL(urlSuffix), bytes.NewBuffer(reqBytes)) + req, err := http.NewRequestWithContext(ctx, http.MethodPost, c.fullURL(urlSuffix), bytes.NewBuffer(reqBytes)) if err != nil { return } - req = req.WithContext(ctx) err = c.sendRequest(req, &response) return } diff --git a/edits.go b/edits.go index 0ae61cd..8cfc21c 100644 --- a/edits.go +++ b/edits.go @@ -39,12 +39,11 @@ func (c *Client) Edits(ctx context.Context, request EditsRequest) (response Edit return } - req, err := http.NewRequest("POST", c.fullURL("/edits"), bytes.NewBuffer(reqBytes)) + req, err := http.NewRequestWithContext(ctx, http.MethodPost, c.fullURL("/edits"), bytes.NewBuffer(reqBytes)) if err != nil { return } - req = req.WithContext(ctx) err = c.sendRequest(req, &response) return } diff --git a/embeddings.go b/embeddings.go index 52c5223..bfdb802 100644 --- a/embeddings.go +++ b/embeddings.go @@ -141,12 +141,11 @@ func (c *Client) CreateEmbeddings(ctx context.Context, request EmbeddingRequest) } urlSuffix := "/embeddings" - req, err := http.NewRequest(http.MethodPost, c.fullURL(urlSuffix), bytes.NewBuffer(reqBytes)) + req, err := http.NewRequestWithContext(ctx, http.MethodPost, c.fullURL(urlSuffix), bytes.NewBuffer(reqBytes)) if err != nil { return } - req = req.WithContext(ctx) err = c.sendRequest(req, &resp) return diff --git a/engines.go b/engines.go index 3f82e98..2805f15 100644 --- a/engines.go +++ b/engines.go @@ -22,12 +22,11 @@ type EnginesList struct { // ListEngines Lists the currently available engines, and provides basic // information about each option such as the owner and availability. func (c *Client) ListEngines(ctx context.Context) (engines EnginesList, err error) { - req, err := http.NewRequest("GET", c.fullURL("/engines"), nil) + req, err := http.NewRequestWithContext(ctx, http.MethodGet, c.fullURL("/engines"), nil) if err != nil { return } - req = req.WithContext(ctx) err = c.sendRequest(req, &engines) return } @@ -39,12 +38,11 @@ func (c *Client) GetEngine( engineID string, ) (engine Engine, err error) { urlSuffix := fmt.Sprintf("/engines/%s", engineID) - req, err := http.NewRequest("GET", c.fullURL(urlSuffix), nil) + req, err := http.NewRequestWithContext(ctx, http.MethodGet, c.fullURL(urlSuffix), nil) if err != nil { return } - req = req.WithContext(ctx) err = c.sendRequest(req, &engine) return } diff --git a/files.go b/files.go index 0b106fa..385bb52 100644 --- a/files.go +++ b/files.go @@ -98,12 +98,11 @@ func (c *Client) CreateFile(ctx context.Context, request FileRequest) (file File w.Close() - req, err := http.NewRequest("POST", c.fullURL("/files"), &b) + req, err := http.NewRequestWithContext(ctx, http.MethodPost, c.fullURL("/files"), &b) if err != nil { return } - req = req.WithContext(ctx) req.Header.Set("Content-Type", w.FormDataContentType()) err = c.sendRequest(req, &file) @@ -113,12 +112,11 @@ func (c *Client) CreateFile(ctx context.Context, request FileRequest) (file File // DeleteFile deletes an existing file. func (c *Client) DeleteFile(ctx context.Context, fileID string) (err error) { - req, err := http.NewRequest("DELETE", c.fullURL("/files/"+fileID), nil) + req, err := http.NewRequestWithContext(ctx, http.MethodDelete, c.fullURL("/files/"+fileID), nil) if err != nil { return } - req = req.WithContext(ctx) err = c.sendRequest(req, nil) return } @@ -126,12 +124,11 @@ func (c *Client) DeleteFile(ctx context.Context, fileID string) (err error) { // ListFiles Lists the currently available files, // and provides basic information about each file such as the file name and purpose. func (c *Client) ListFiles(ctx context.Context) (files FilesList, err error) { - req, err := http.NewRequest("GET", c.fullURL("/files"), nil) + req, err := http.NewRequestWithContext(ctx, http.MethodGet, c.fullURL("/files"), nil) if err != nil { return } - req = req.WithContext(ctx) err = c.sendRequest(req, &files) return } @@ -140,12 +137,11 @@ func (c *Client) ListFiles(ctx context.Context) (files FilesList, err error) { // such as the file name and purpose. func (c *Client) GetFile(ctx context.Context, fileID string) (file File, err error) { urlSuffix := fmt.Sprintf("/files/%s", fileID) - req, err := http.NewRequest("GET", c.fullURL(urlSuffix), nil) + req, err := http.NewRequestWithContext(ctx, http.MethodGet, c.fullURL(urlSuffix), nil) if err != nil { return } - req = req.WithContext(ctx) err = c.sendRequest(req, &file) return } diff --git a/image.go b/image.go index 4368e99..07ecaa7 100644 --- a/image.go +++ b/image.go @@ -53,12 +53,11 @@ func (c *Client) CreateImage(ctx context.Context, request ImageRequest) (respons } urlSuffix := "/images/generations" - req, err := http.NewRequest(http.MethodPost, c.fullURL(urlSuffix), bytes.NewBuffer(reqBytes)) + req, err := http.NewRequestWithContext(ctx, http.MethodPost, c.fullURL(urlSuffix), bytes.NewBuffer(reqBytes)) if err != nil { return } - req = req.WithContext(ctx) err = c.sendRequest(req, &response) return } @@ -111,12 +110,11 @@ func (c *Client) CreateEditImage(ctx context.Context, request ImageEditRequest) } writer.Close() urlSuffix := "/images/edits" - req, err := http.NewRequest(http.MethodPost, c.fullURL(urlSuffix), body) + req, err := http.NewRequestWithContext(ctx, http.MethodPost, c.fullURL(urlSuffix), body) if err != nil { return } - req = req.WithContext(ctx) req.Header.Set("Content-Type", writer.FormDataContentType()) err = c.sendRequest(req, &response) return diff --git a/models.go b/models.go index cd4a866..c18e502 100644 --- a/models.go +++ b/models.go @@ -40,11 +40,11 @@ type ModelsList struct { // ListModels Lists the currently available models, // and provides basic information about each model such as the model id and parent. func (c *Client) ListModels(ctx context.Context) (models ModelsList, err error) { - req, err := http.NewRequest("GET", c.fullURL("/models"), nil) + req, err := http.NewRequestWithContext(ctx, http.MethodGet, c.fullURL("/models"), nil) if err != nil { return } - req = req.WithContext(ctx) + err = c.sendRequest(req, &models) return } diff --git a/moderation.go b/moderation.go index 1058693..1849e10 100644 --- a/moderation.go +++ b/moderation.go @@ -58,12 +58,11 @@ func (c *Client) Moderations(ctx context.Context, request ModerationRequest) (re return } - req, err := http.NewRequest("POST", c.fullURL("/moderations"), bytes.NewBuffer(reqBytes)) + req, err := http.NewRequestWithContext(ctx, http.MethodPost, c.fullURL("/moderations"), bytes.NewBuffer(reqBytes)) if err != nil { return } - req = req.WithContext(ctx) err = c.sendRequest(req, &response) return } diff --git a/stream.go b/stream.go index b3c9eb1..d1bdf48 100644 --- a/stream.go +++ b/stream.go @@ -79,7 +79,7 @@ func (c *Client) CreateCompletionStream( } urlSuffix := "/completions" - req, err := http.NewRequest("POST", c.fullURL(urlSuffix), bytes.NewBuffer(reqBytes)) + req, err := http.NewRequestWithContext(ctx, http.MethodPost, c.fullURL(urlSuffix), bytes.NewBuffer(reqBytes)) req.Header.Set("Content-Type", "application/json") req.Header.Set("Accept", "text/event-stream") req.Header.Set("Cache-Control", "no-cache") @@ -89,7 +89,6 @@ func (c *Client) CreateCompletionStream( return } - req = req.WithContext(ctx) resp, err := c.config.HTTPClient.Do(req) //nolint:bodyclose // body is closed in stream.Close() if err != nil { return