Skip to content

Commit

Permalink
🧹 Allow to override the API endpoint
Browse files Browse the repository at this point in the history
Fixes #9

Signed-off-by: Christian Zunker <[email protected]>
  • Loading branch information
czunker committed Dec 5, 2023
1 parent e27ff48 commit 015e1cb
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 1 deletion.
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,14 @@ make test
For any requests, bug or comments, please [open an issue][issues] or [submit a
pull request][pulls].

## Development

When developing new APIs locally, you can overwrite the API endpoint.
Specify `MONDOO_API_ENDPOINT` environment variable for the `generate` command, e.g.,:
```
MONDOO_API_ENDPOINT=http://127.0.0.1 make generate
```

## Kudos

This implementation is heavily inspired by the [GitHub GraphQL Go Client](https://github.com/shurcooL/githubv4).
Expand Down
12 changes: 11 additions & 1 deletion gen/gen.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import (
"io"
"log"
"net/http"
"net/url"
"os"
"path/filepath"
"sort"
Expand Down Expand Up @@ -176,10 +177,19 @@ fragment TypeRef on __Type {
}
}
`
apiEndpoint := "https://" + apiHost + "/query"
endpoint, ok := os.LookupEnv("MONDOO_API_ENDPOINT")
if ok {
apiEndpoint, err = url.JoinPath(endpoint, "/query")
if err != nil {
log.Fatalf("invalid MONDOO_API_ENDPOINT: %v", err)
}
}
fmt.Printf("using endpoint %s\n", apiEndpoint)
// do introspection query
req, err := http.NewRequest(
"POST",
"https://"+apiHost+"/query",
apiEndpoint,
strings.NewReader(`{"query":`+strconv.Quote(introspection)+`}`),
)
if err != nil {
Expand Down

0 comments on commit 015e1cb

Please sign in to comment.