Add configuration via env vars

This commit is contained in:
2024-10-08 12:42:08 +03:00
parent 74e9327b0b
commit c3d6481de0
8 changed files with 166 additions and 79 deletions

37
gemini_url.go Normal file
View File

@@ -0,0 +1,37 @@
package main
import (
"encoding/json"
)
type GeminiUrl struct {
Protocol string `json:"protocol,omitempty"`
Hostname string `json:"hostname,omitempty"`
Port int `json:"port,omitempty"`
Path string `json:"path,omitempty"`
Descr string `json:"descr,omitempty"`
Full string `json:"full,omitempty"`
}
func (u GeminiUrl) String() string {
return u.Full
// return fmt.Sprintf("%s://%s:%d%s", u.Protocol, u.Hostname, u.Port, u.Path)
}
func GeminiUrltoJSON(g GeminiUrl) string {
// Serialize the Person struct to JSON
jsonData, err := json.Marshal(g)
if err != nil {
LogError("Error serializing to JSON: %w", err)
}
return string(jsonData)
}
func GeminiUrlFromJSON(input string) GeminiUrl {
var geminiUrl GeminiUrl
err := json.Unmarshal([]byte(input), &geminiUrl)
if err != nil {
LogError("Error deserializing from JSON: %w", err)
}
return geminiUrl
}