add ua check

This commit is contained in:
Владимир Фёдоров 2024-09-05 03:45:18 +07:00
parent f40e4bf2e1
commit bd29ac242d
2 changed files with 26 additions and 9 deletions

View File

@ -1,22 +1,24 @@
package main package main
import ( import (
"cake_crm/internal/app"
"cake_crm/internal/modules/messenger/telegram"
"cake_crm/internal/modules/storage/storage_file"
"cake_crm/internal/services/cart"
"cake_crm/internal/services/order"
proto "cake_crm/proto"
"context" "context"
"github.com/grpc-ecosystem/grpc-gateway/v2/runtime"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
"log" "log"
"net" "net"
"net/http" "net/http"
"os" "os"
"strconv" "strconv"
"strings" "strings"
"github.com/grpc-ecosystem/grpc-gateway/v2/runtime"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
"cake_crm/internal/app"
"cake_crm/internal/modules/messenger/telegram"
"cake_crm/internal/modules/storage/storage_file"
"cake_crm/internal/services/cart"
"cake_crm/internal/services/order"
proto "cake_crm/proto"
) )
func main() { func main() {
@ -102,6 +104,12 @@ func main() {
func cors(h http.Handler) http.Handler { func cors(h http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
ua := r.Header.Get("User-Agent")
if !strings.HasPrefix(ua, "crabs") {
w.WriteHeader(403)
return
}
w.Header().Set("Access-Control-Allow-Origin", "*") w.Header().Set("Access-Control-Allow-Origin", "*")
w.Header().Set("Access-Control-Allow-Methods", "GET, POST, PATCH, DELETE") w.Header().Set("Access-Control-Allow-Methods", "GET, POST, PATCH, DELETE")
w.Header().Set("Access-Control-Allow-Headers", "Accept, Content-Type, Content-Length, Accept-Encoding, Authorization, ResponseType") w.Header().Set("Access-Control-Allow-Headers", "Accept, Content-Type, Content-Length, Accept-Encoding, Authorization, ResponseType")

View File

@ -0,0 +1,9 @@
POST http://0.0.0.0:8090/cart
User-Agent: crabs/1.0.0
[
{
"productId": 1,
"count": 20
}
]