package main import ( "encoding/json" "fmt" "net/http" ) func GenShardHash(b []byte) (final byte) { for i, b := range b { final = (b ^ final ^ byte(i)) + final + byte(i) + final*byte(i) } return final } func WriteResponse(res http.ResponseWriter, statusCode int, v any) { res.Header().Set("Content-Type", "application/json") res.WriteHeader(statusCode) if statusCode == http.StatusNoContent { return } if err, isError := v.(error); isError { v = map[string]any{ "error": fmt.Sprintf("%v", err), "status_code": statusCode, } } else { v = map[string]any{ "data": v, "status_code": statusCode, } } json.NewEncoder(res).Encode(v) }