mirror of
https://github.com/coder/coder.git
synced 2025-07-03 16:13:58 +00:00
* ci: Update DataDog GitHub branch to fallback to GITHUB_REF This was detecting branches, but not our "main" branch before. Hopefully this fixes it! * Add basic Terraform Provider * Rename post files to upload * Add tests for resources * Skip instance identity test * Add tests for ensuring agent get's passed through properly * Fix linting errors * Add echo path * Fix agent authentication * Update codersdk/files.go Co-authored-by: Bryan <bryan@coder.com> Co-authored-by: Bryan <bryan@coder.com>
36 lines
949 B
Go
36 lines
949 B
Go
package codersdk
|
|
|
|
import (
|
|
"context"
|
|
"encoding/json"
|
|
"fmt"
|
|
"net/http"
|
|
"net/url"
|
|
|
|
"github.com/coder/coder/coderd"
|
|
)
|
|
|
|
const (
|
|
ContentTypeTar = "application/x-tar"
|
|
)
|
|
|
|
func (c *Client) UploadFile(ctx context.Context, contentType string, content []byte) (coderd.UploadFileResponse, error) {
|
|
res, err := c.request(ctx, http.MethodPost, "/api/v2/upload", content, func(r *http.Request) {
|
|
r.Header.Set("Content-Type", contentType)
|
|
})
|
|
if err != nil {
|
|
return coderd.UploadFileResponse{}, err
|
|
}
|
|
defer res.Body.Close()
|
|
if res.StatusCode != http.StatusCreated && res.StatusCode != http.StatusOK {
|
|
return coderd.UploadFileResponse{}, readBodyAsError(res)
|
|
}
|
|
var resp coderd.UploadFileResponse
|
|
return resp, json.NewDecoder(res.Body).Decode(&resp)
|
|
}
|
|
|
|
// DownloadURL returns the download URL for the specified asset
|
|
func (c *Client) DownloadURL(asset string) (*url.URL, error) {
|
|
return c.URL.Parse(fmt.Sprintf("/api/v2/downloads/%s", asset))
|
|
}
|