changed endpoints to work as should in first place

This commit is contained in:
2026-04-21 18:22:56 +02:00
parent 35a6d2dc25
commit 7f3f77bff6
4 changed files with 44 additions and 40 deletions
+26 -22
View File
@@ -15,10 +15,6 @@ func withCORS(h http.HandlerFunc) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Access-Control-Allow-Origin", "*")
w.Header().Set("Access-Control-Allow-Headers", "token, Content-Type")
if r.Method == http.MethodOptions {
w.WriteHeader(http.StatusNoContent)
return
}
h(w, r)
}
}
@@ -28,27 +24,35 @@ func main() {
postgresql.Init(ctx)
minio.Init(ctx)
http.HandleFunc("/new/user", withCORS(httpRequest.HandleUserNew))
http.HandleFunc("/new/connection", withCORS(httpRequest.HandleUserNewConnection))
http.HandleFunc("/new/token", withCORS(httpRequest.HandleUserNewToken))
http.HandleFunc("/new/file", withCORS(httpRequest.HandleAttachmentFileUpload))
http.HandleFunc("/mod/user/profile", withCORS(httpRequest.HandleUserModProfile))
http.HandleFunc("/mod/user/avatar", withCORS(httpRequest.HandleUserModAvatar))
http.HandleFunc("/mod/user/profilebg", withCORS(httpRequest.HandleUserModProfileBg))
http.HandleFunc("/mod/connection/elevate", withCORS(httpRequest.HandleUserElevateConnection))
http.HandleFunc("/mod/connection/deelevate", withCORS(httpRequest.HandleUserDeElevateConnection))
http.HandleFunc("OPTIONS /", func(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Access-Control-Allow-Origin", "*")
w.Header().Set("Access-Control-Allow-Headers", "token, Content-Type")
w.Header().Set("Access-Control-Allow-Methods", "GET, POST, PATCH, DELETE, OPTIONS")
w.WriteHeader(http.StatusNoContent)
})
http.HandleFunc("/get/user", withCORS(httpRequest.HandleUserGetUser))
http.HandleFunc("/get/connections", withCORS(httpRequest.HandleUserGetConnections))
http.HandleFunc("/get/connection/messages", withCORS(httpRequest.HandleUserGetConnectionMessages))
http.HandleFunc("/get/file", withCORS(httpRequest.HandleAttachmentFileDownload))
http.HandleFunc("/get/user/avatar", withCORS(httpRequest.HandleGetUserAvatar))
http.HandleFunc("/get/user/profilebg", withCORS(httpRequest.HandleGetUserProfileBg))
http.HandleFunc("POST /user", withCORS(httpRequest.HandleUserNew))
http.HandleFunc("DELETE /user", withCORS(httpRequest.HandleUserDelete))
http.HandleFunc("GET /user", withCORS(httpRequest.HandleUserGetUser))
http.HandleFunc("PATCH /user/profile", withCORS(httpRequest.HandleUserModProfile))
http.HandleFunc("PATCH /user/avatar", withCORS(httpRequest.HandleUserModAvatar))
http.HandleFunc("PATCH /user/profilebg", withCORS(httpRequest.HandleUserModProfileBg))
http.HandleFunc("GET /user/avatar", withCORS(httpRequest.HandleGetUserAvatar))
http.HandleFunc("GET /user/profilebg", withCORS(httpRequest.HandleGetUserProfileBg))
http.HandleFunc("/del/user", withCORS(httpRequest.HandleUserDelete))
http.HandleFunc("/del/connection", withCORS(httpRequest.HandleUserDeleteConnection))
http.HandleFunc("POST /token", withCORS(httpRequest.HandleUserNewToken))
http.HandleFunc("/msg/user", withCORS(httpRequest.HandleDm))
http.HandleFunc("POST /connection", withCORS(httpRequest.HandleUserNewConnection))
http.HandleFunc("DELETE /connection", withCORS(httpRequest.HandleUserDeleteConnection))
http.HandleFunc("POST /connection/elevate", withCORS(httpRequest.HandleUserElevateConnection))
http.HandleFunc("POST /connection/deelevate", withCORS(httpRequest.HandleUserDeElevateConnection))
http.HandleFunc("GET /connections", withCORS(httpRequest.HandleUserGetConnections))
http.HandleFunc("GET /connection/messages", withCORS(httpRequest.HandleUserGetConnectionMessages))
http.HandleFunc("POST /file", withCORS(httpRequest.HandleAttachmentFileUpload))
http.HandleFunc("GET /file", withCORS(httpRequest.HandleAttachmentFileDownload))
http.HandleFunc("POST /message", withCORS(httpRequest.HandleDm))
http.HandleFunc("/ws", wsServer.ServeWsConnection)
log.Println("beep boop; server server started")
+11 -11
View File
@@ -26,7 +26,7 @@ func HandleDm(response http.ResponseWriter, request *http.Request) {
}
ctx := request.Context()
user, err := getUserByToken(ctx, request.FormValue("token"))
user, err := getUserByToken(ctx, request.Header.Get("token"))
if err != nil {
http.Error(response, "invalid token", http.StatusUnauthorized)
return
@@ -93,7 +93,7 @@ func HandleUserGetConnectionMessages(response http.ResponseWriter, request *http
return
}
ctx := request.Context()
user, err := getUserByToken(ctx, request.FormValue("token"))
user, err := getUserByToken(ctx, request.Header.Get("token"))
if err != nil {
http.Error(response, "invalid token", http.StatusUnauthorized)
return
@@ -104,12 +104,12 @@ func HandleUserGetConnectionMessages(response http.ResponseWriter, request *http
return
}
before, err := convertions.ConvertStringTimestamp(request.FormValue("before"))
before, err := convertions.ConvertStringTimestamp(request.URL.Query().Get("before"))
if err != nil {
before = time.Now()
}
messagesCap, err := convertions.StringToUint32(request.FormValue("messages"))
messagesCap, err := convertions.StringToUint32(request.URL.Query().Get("messages"))
if err != nil {
messagesCap = globals.MaxDirectMsgCache
}
@@ -162,7 +162,7 @@ func HandleUserNewConnection(response http.ResponseWriter, request *http.Request
return
}
ctx := request.Context()
requestor, err := getUserByToken(ctx, request.FormValue("token"))
requestor, err := getUserByToken(ctx, request.Header.Get("token"))
if err != nil {
http.Error(response, "invalid token", http.StatusUnauthorized)
return
@@ -222,7 +222,7 @@ func HandleUserDeleteConnection(response http.ResponseWriter, request *http.Requ
}
ctx := request.Context()
user, err := getUserByToken(ctx, request.FormValue("token"))
user, err := getUserByToken(ctx, request.Header.Get("token"))
if err != nil {
http.Error(response, "invalid token", http.StatusUnauthorized)
return
@@ -274,7 +274,7 @@ func HandleUserElevateConnection(response http.ResponseWriter, request *http.Req
return
}
ctx := request.Context()
user, err := getUserByToken(ctx, request.FormValue("token"))
user, err := getUserByToken(ctx, request.Header.Get("token"))
if err != nil {
http.Error(response, "invalid token", http.StatusUnauthorized)
return
@@ -316,7 +316,7 @@ func HandleUserElevateConnection(response http.ResponseWriter, request *http.Req
wsServer.WsSendMessageCloseIfTimeout(user2, types.WsEventMessage{
Type: WsEventType.ConnectionElevated,
Event: types.ConnectionStatusChangeData{
Event: types.ConnectionStatusSetData{
Id: conn.Id,
NewState: conn.State,
},
@@ -335,7 +335,7 @@ func HandleUserDeElevateConnection(response http.ResponseWriter, request *http.R
}
ctx := request.Context()
user, err := getUserByToken(ctx, request.FormValue("token"))
user, err := getUserByToken(ctx, request.Header.Get("token"))
if err != nil {
http.Error(response, "invalid token", http.StatusUnauthorized)
return
@@ -363,7 +363,7 @@ func HandleUserDeElevateConnection(response http.ResponseWriter, request *http.R
wsServer.WsSendMessageCloseIfTimeout(user2, types.WsEventMessage{
Type: WsEventType.ConnectionDeElevated,
Event: types.ConnectionStatusChangeData{
Event: types.ConnectionStatusSetData{
Id: conn.Id,
NewState: conn.State,
},
@@ -382,7 +382,7 @@ func HandleUserGetConnections(response http.ResponseWriter, request *http.Reques
}
ctx := request.Context()
user, err := getUserByToken(ctx, request.FormValue("token"))
user, err := getUserByToken(ctx, request.Header.Get("token"))
if err != nil {
http.Error(response, "invalid token", http.StatusUnauthorized)
return
+3 -3
View File
@@ -72,7 +72,7 @@ func HandleGetUserAvatar(response http.ResponseWriter, request *http.Request) {
return
}
targetId, err := convertions.ConvertStringUuid(request.FormValue("userid"))
targetId, err := convertions.ConvertStringUuid(request.URL.Query().Get("userid"))
if err != nil {
http.Error(response, "invalid userid", http.StatusBadRequest)
return
@@ -110,7 +110,7 @@ func HandleGetUserProfileBg(response http.ResponseWriter, request *http.Request)
return
}
targetId, err := convertions.ConvertStringUuid(request.FormValue("userid"))
targetId, err := convertions.ConvertStringUuid(request.URL.Query().Get("userid"))
if err != nil {
http.Error(response, "invalid userid", http.StatusBadRequest)
return
@@ -154,7 +154,7 @@ func HandleAttachmentFileDownload(response http.ResponseWriter, request *http.Re
return
}
key := request.FormValue("key")
key := request.URL.Query().Get("key")
if !strings.HasPrefix(key, conn.Id.String()+"/") {
http.Error(response, "no such file", http.StatusUnauthorized)
return
+4 -4
View File
@@ -124,7 +124,7 @@ func HandleUserDelete(response http.ResponseWriter, request *http.Request) {
}
ctx := request.Context()
userId, err := tokens.TokenValidateGetId(request.FormValue("token"))
userId, err := tokens.TokenValidateGetId(request.Header.Get("token"))
if err != nil {
http.Error(response, "invalid token", http.StatusUnauthorized)
return
@@ -146,7 +146,7 @@ func HandleUserModProfile(response http.ResponseWriter, request *http.Request) {
}
ctx := request.Context()
user, err := getUserByToken(ctx, request.FormValue("token"))
user, err := getUserByToken(ctx, request.Header.Get("token"))
if err != nil {
http.Error(response, "invalid token", http.StatusUnauthorized)
return
@@ -322,13 +322,13 @@ func HandleUserGetUser(response http.ResponseWriter, request *http.Request) {
}
ctx := request.Context()
_, err := getUserByToken(ctx, request.FormValue("token"))
_, err := getUserByToken(ctx, request.Header.Get("token"))
if err != nil {
http.Error(response, "invalid token", http.StatusUnauthorized)
return
}
targetId, err := convertions.ConvertStringUuid(request.FormValue("targetid"))
targetId, err := convertions.ConvertStringUuid(request.URL.Query().Get("targetid"))
if err != nil {
http.Error(response, "invalid userid", http.StatusUnauthorized)
return