dotenv, parsing fix email, moved dump tracnsport to new file gz, removed unwanted var jwt, added in HS256 sign/parse

ptr, ref and deref funcs response, use fmt.Fprint(f) validate, few new funcs
This commit is contained in:
2025-10-03 00:12:00 +05:30
parent 74e56f55d6
commit 6f9fb2d8ec
14 changed files with 262 additions and 65 deletions

View File

@@ -8,6 +8,7 @@ package response
import (
"encoding/json"
"fmt"
"log/slog"
"net/http"
"code.patial.tech/go/appcore/request"
@@ -49,7 +50,10 @@ func reply(w http.ResponseWriter, data any, p *request.Pager) {
// if data is nil, let's pass it on as null
if data == nil {
w.WriteHeader(http.StatusOK)
w.Write([]byte("{\"data\":null}"))
_, writeErr := fmt.Fprint(w, "{\"data\":null}")
if writeErr != nil {
slog.Error(writeErr.Error())
}
return
}
@@ -64,30 +68,45 @@ func reply(w http.ResponseWriter, data any, p *request.Pager) {
func BadRequest(w http.ResponseWriter, err error) {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusBadRequest)
w.Write(fmt.Appendf(nil, "{\"error\": %q}", err.Error()))
_, writeErr := fmt.Fprintf(w, "{\"error\": %q}", err.Error())
if writeErr != nil {
slog.Error(writeErr.Error())
}
}
func InternalServerError(w http.ResponseWriter, err error) {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusInternalServerError)
w.Write(fmt.Appendf(nil, "{\"error\": %q}", err.Error()))
_, writeErr := fmt.Fprintf(w, "{\"error\": %q}", err.Error())
if writeErr != nil {
slog.Error(writeErr.Error())
}
}
func SessionExpired(w http.ResponseWriter) {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusUnauthorized)
w.Write([]byte("{\"error\": \"Session is expired, please login again\"}"))
_, writeErr := fmt.Fprint(w, "{\"error\": \"Session is expired, please login again\"}")
if writeErr != nil {
slog.Error(writeErr.Error())
}
}
func NotAutorized(w http.ResponseWriter) {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusBadRequest)
w.Write([]byte("{\"error\": \"You are not authorized to perform this action\"}"))
_, writeErr := fmt.Fprint(w, "{\"error\": \"You are not authorized to perform this action\"}")
if writeErr != nil {
slog.Error(writeErr.Error())
}
}
// Forbidden response error
func Forbidden(w http.ResponseWriter, err error) {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusForbidden)
w.Write(fmt.Appendf(nil, "{\"error\": %q}", err.Error()))
_, writeErr := fmt.Fprintf(w, "{\"error\": %q}", err.Error())
if writeErr != nil {
slog.Error(writeErr.Error())
}
}