This commit is contained in:
wagslane
2024-03-07 09:48:38 -07:00
parent 2b337f9f0f
commit 86874e2f9e
171 changed files with 63081 additions and 7300 deletions

29
main.go
View File

@@ -6,9 +6,7 @@ import (
"io"
"log"
"net/http"
"net/url"
"os"
"strings"
"github.com/go-chi/chi"
"github.com/go-chi/cors"
@@ -16,7 +14,7 @@ import (
"github.com/bootdotdev/learn-cicd-starter/internal/database"
_ "github.com/go-sql-driver/mysql"
_ "github.com/tursodatabase/libsql-client-go/libsql"
)
type apiConfig struct {
@@ -39,16 +37,14 @@ func main() {
apiCfg := apiConfig{}
// https://github.com/libsql/libsql-client-go/#open-a-connection-to-sqld
// libsql://[your-database].turso.io?authToken=[your-auth-token]
dbURL := os.Getenv("DATABASE_URL")
if dbURL == "" {
log.Println("DATABASE_URL environment variable is not set")
log.Println("Running without CRUD endpoints")
} else {
parsedURL, err := addParseTimeParam(dbURL)
if err != nil {
log.Fatal(err)
}
db, err := sql.Open("mysql", parsedURL)
db, err := sql.Open("libsql", dbURL)
if err != nil {
log.Fatal(err)
}
@@ -100,20 +96,3 @@ func main() {
log.Printf("Serving on port: %s\n", port)
log.Fatal(srv.ListenAndServe())
}
func addParseTimeParam(input string) (string, error) {
const dummyScheme = "http://"
if !strings.Contains(input, dummyScheme) {
input = "http://" + input
}
u, err := url.Parse(input)
if err != nil {
return "", err
}
q := u.Query()
q.Add("parseTime", "true")
u.RawQuery = q.Encode()
returnUrl := u.String()
returnUrl = strings.TrimPrefix(returnUrl, dummyScheme)
return returnUrl, nil
}