summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Dessaux2024-11-15 23:48:35 +0100
committerJulien Dessaux2024-11-15 23:48:35 +0100
commit478f42f8a9f070cef9e8c0b81dc7bd4c24bacde8 (patch)
tree2140b7b89ddf04ae3d9b149bf6d51061769178c5
parentfeat(tfstated): implement HTTP basic auth (diff)
downloadtfstated-478f42f8a9f070cef9e8c0b81dc7bd4c24bacde8.tar.gz
tfstated-478f42f8a9f070cef9e8c0b81dc7bd4c24bacde8.tar.bz2
tfstated-478f42f8a9f070cef9e8c0b81dc7bd4c24bacde8.zip
chore(tfstated): use a struct{} as context.Context key
-rw-r--r--cmd/tfstated/post.go2
-rw-r--r--pkg/basic_auth/middleware.go3
-rw-r--r--pkg/model/account.go2
3 files changed, 5 insertions, 2 deletions
diff --git a/cmd/tfstated/post.go b/cmd/tfstated/post.go
index 718fed7..674eaba 100644
--- a/cmd/tfstated/post.go
+++ b/cmd/tfstated/post.go
@@ -25,7 +25,7 @@ func handlePost(db *database.DB) http.Handler {
_ = errorResponse(w, http.StatusBadRequest, err)
return
}
- account := r.Context().Value("account").(*model.Account)
+ account := r.Context().Value(model.AccountContextKey{}).(*model.Account)
if idMismatch, err := db.SetState(r.URL.Path, account.Id, data, id); err != nil {
if idMismatch {
_ = errorResponse(w, http.StatusConflict, err)
diff --git a/pkg/basic_auth/middleware.go b/pkg/basic_auth/middleware.go
index 108124f..94cac56 100644
--- a/pkg/basic_auth/middleware.go
+++ b/pkg/basic_auth/middleware.go
@@ -6,6 +6,7 @@ import (
"time"
"git.adyxax.org/adyxax/tfstated/pkg/database"
+ "git.adyxax.org/adyxax/tfstated/pkg/model"
)
func Middleware(db *database.DB) func(http.Handler) http.Handler {
@@ -32,7 +33,7 @@ func Middleware(db *database.DB) func(http.Handler) http.Handler {
http.Error(w, "Internal Server Error", http.StatusInternalServerError)
return
}
- ctx := context.WithValue(r.Context(), "account", account)
+ ctx := context.WithValue(r.Context(), model.AccountContextKey{}, account)
next.ServeHTTP(w, r.WithContext(ctx))
})
}
diff --git a/pkg/model/account.go b/pkg/model/account.go
index cbb6407..86032b8 100644
--- a/pkg/model/account.go
+++ b/pkg/model/account.go
@@ -2,6 +2,8 @@ package model
import "time"
+type AccountContextKey struct{}
+
type Account struct {
Id int
Username string