summaryrefslogtreecommitdiff
path: root/src/cardmarket/http.go
diff options
context:
space:
mode:
authorDJ O'Leary <dijitol@proton.me>2026-09-06 23:52:13 +0200
committerDJ O'Leary <dijitol@proton.me>2026-09-06 23:52:13 +0200
commit4c1525d84968a5302ce2d87f923b84b56c5777eb (patch)
treecf553d12a0f529b62532b4dbb610ef1735dce0e5 /src/cardmarket/http.go
parent497c6b9793e4745e7d180d2faec1e26ff6a28788 (diff)
feat(cardmarket): implement some endpoints of the v2 api
Diffstat (limited to 'src/cardmarket/http.go')
-rw-r--r--src/cardmarket/http.go36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/cardmarket/http.go b/src/cardmarket/http.go
new file mode 100644
index 0000000..4789fdf
--- /dev/null
+++ b/src/cardmarket/http.go
@@ -0,0 +1,36 @@
+package cardmarket
+
+import (
+ "context"
+ "encoding/json"
+ "io"
+ "log/slog"
+)
+
+func (c *ApiClient) get(ctx context.Context, endpoint string, respBody any) error {
+ slog.DebugContext(ctx, "requesting entity info...")
+ resp, err := c.httpClient.GetWithContext(ctx, c.baseURL+endpoint)
+ if err != nil {
+ slog.DebugContext(ctx, "failed to get entity from API")
+ return err
+ }
+ slog.DebugContext(ctx, "received entity info")
+
+ slog.DebugContext(ctx, "reading body...")
+ respBodyBuf, err := io.ReadAll(resp.Body)
+ if err != nil {
+ slog.DebugContext(ctx, "failed to read body")
+ return err
+ }
+ defer resp.Body.Close()
+ slog.DebugContext(ctx, "read body")
+
+ slog.DebugContext(ctx, "parsing body...", "respBodyBuf", string(respBodyBuf))
+ if err = json.Unmarshal(respBodyBuf, respBody); err != nil {
+ slog.DebugContext(ctx, "failed to unmarshal body: "+string(respBodyBuf))
+ return err
+ }
+ slog.DebugContext(ctx, "parsed body")
+
+ return nil
+}