Skip to content

Commit f59ba16

Browse files
committed
dbeaver/pro#5701 collapse the env package in Go examples
1 parent 2e9d3a6 commit f59ba16

File tree

2 files changed

+38
-62
lines changed

2 files changed

+38
-62
lines changed

go/env/env.go

Lines changed: 0 additions & 56 deletions
This file was deleted.

go/main.go

Lines changed: 38 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
package main
22

33
import (
4+
"bufio"
5+
"fmt"
46
"log/slog"
57
"net/http"
68
"net/http/cookiejar"
79
"os"
10+
"strings"
811

912
"github.com/dbeaver/cloudbeaver-graphql-examples/go/api"
10-
"github.com/dbeaver/cloudbeaver-graphql-examples/go/env"
1113
"github.com/dbeaver/cloudbeaver-graphql-examples/go/graphql"
1214
"github.com/dbeaver/cloudbeaver-graphql-examples/go/lib"
1315
)
@@ -31,11 +33,10 @@ func main0() error {
3133
if err != nil {
3234
return lib.WrapError("error while reading variables", err)
3335
}
34-
apiClient := initClient(env.GraphqlEndpoint())
36+
apiClient := initClient(env.serverURL + "/" + env.serviceURI + "/gql")
3537

3638
// Auth
37-
err = apiClient.Auth(env.APIToken)
38-
env.PurgeToken()
39+
err = apiClient.Auth(env.apiToken)
3940
if err != nil {
4041
return err
4142
}
@@ -67,14 +68,45 @@ func main0() error {
6768
return nil
6869
}
6970

70-
func readEnv() (env.Env, error) {
71+
type env struct {
72+
apiToken string
73+
serverURL string
74+
serviceURI string
75+
}
76+
77+
func readEnv() (env, error) {
7178
var envFilePath string
7279
if len(os.Args) > 1 {
7380
envFilePath = os.Args[1]
7481
} else {
7582
envFilePath = "../.env"
7683
}
77-
return env.Read(envFilePath)
84+
env := env{}
85+
file, err := os.Open(envFilePath)
86+
if err != nil {
87+
return env, lib.WrapError("error while opening the env file", err)
88+
}
89+
defer lib.CloseOrWarn(file)
90+
scanner := bufio.NewScanner(file)
91+
for scanner.Scan() {
92+
before, after, found := strings.Cut(scanner.Text(), "=")
93+
if !found {
94+
continue
95+
}
96+
before = strings.TrimSpace(before)
97+
after = strings.TrimSpace(after)
98+
switch before {
99+
case "api_token":
100+
env.apiToken = after
101+
case "server_url":
102+
env.serverURL = after
103+
case "service_uri":
104+
env.serviceURI = after
105+
default:
106+
slog.Warn(fmt.Sprintf("unknown env variable: %s", before))
107+
}
108+
}
109+
return env, err
78110
}
79111

80112
func initClient(endpoint string) api.Client {

0 commit comments

Comments
 (0)