From fd01880162433db9a17a62412ea467c4e9f0b7f9 Mon Sep 17 00:00:00 2001 From: shrsv Date: Mon, 19 Oct 2026 10:39:18 +0000 Subject: [PATCH] chore: add API client reading key from environment LiveReview Pre-Commit Check: skipped (iter:1, coverage:0%) --- internal/apiclient.go | 18 ++++++++++++++++++ internal/errors.go | 5 +++++ 2 files changed, 23 insertions(+) create mode 100644 internal/apiclient.go create mode 100644 internal/errors.go diff --git a/internal/apiclient.go b/internal/apiclient.go new file mode 100644 index 0000000..518db40 --- /dev/null +++ b/internal/apiclient.go @@ -0,0 +1,18 @@ +package internal + +import "os" + +// APIClient is a minimal client for the (future) demo API. +type APIClient struct { + APIKey string +} + +// NewAPIClientFromEnv builds a client using the API key from the +// DEMO_API_KEY environment variable. Returns an error if it's unset. +func NewAPIClientFromEnv() (*APIClient, error) { + key := os.Getenv("DEMO_API_KEY") + if key == "" { + return nil, errMissingAPIKey + } + return &APIClient{APIKey: key}, nil +} diff --git a/internal/errors.go b/internal/errors.go new file mode 100644 index 0000000..ff8b708 --- /dev/null +++ b/internal/errors.go @@ -0,0 +1,5 @@ +package internal + +import "errors" + +var errMissingAPIKey = errors.New("DEMO_API_KEY environment variable is not set")