diff --git a/packages/globals/globals.go b/packages/globals/globals.go index c0fff61..8126ea8 100644 --- a/packages/globals/globals.go +++ b/packages/globals/globals.go @@ -1,5 +1,6 @@ package globals const ( - MaxDirectMsgCache uint32 = 12 + MaxDirectMsgCache uint32 = 12 + FileStorageBucketName string = "communicator" ) diff --git a/packages/http/helper.go b/packages/http/helper.go index f115f63..f0de069 100644 --- a/packages/http/helper.go +++ b/packages/http/helper.go @@ -4,10 +4,14 @@ import ( "net/http" ) -func methodAllowed(response *http.ResponseWriter, request *http.Request) bool { +func requestValidCheck(response *http.ResponseWriter, request *http.Request) bool { if request.Method != http.MethodPost { http.Error(*response, "POST only", http.StatusMethodNotAllowed) return false } + if request.ContentLength > 8192 { + http.Error(*response, "Request too large", http.StatusRequestEntityTooLarge) + } + return true } diff --git a/packages/http/httpConnectionAndDm.go b/packages/http/httpConnectionAndDm.go index 52d03e3..ce98fa6 100644 --- a/packages/http/httpConnectionAndDm.go +++ b/packages/http/httpConnectionAndDm.go @@ -20,7 +20,7 @@ import ( ) func HandleDm(response http.ResponseWriter, request *http.Request) { - if !methodAllowed(&response, request) { + if !requestValidCheck(&response, request) { return } @@ -86,7 +86,7 @@ func HandleDm(response http.ResponseWriter, request *http.Request) { } func HandleUserGetConnectionMessages(response http.ResponseWriter, request *http.Request) { - if !methodAllowed(&response, request) { + if !requestValidCheck(&response, request) { return } ctx := request.Context() @@ -162,7 +162,7 @@ func HandleUserGetConnectionMessages(response http.ResponseWriter, request *http } func HandleUserNewConnection(response http.ResponseWriter, request *http.Request) { - if !methodAllowed(&response, request) { + if !requestValidCheck(&response, request) { return } ctx := request.Context() @@ -221,7 +221,7 @@ func HandleUserNewConnection(response http.ResponseWriter, request *http.Request } func HandleUserDeleteConnection(response http.ResponseWriter, request *http.Request) { - if !methodAllowed(&response, request) { + if !requestValidCheck(&response, request) { return } ctx := request.Context() @@ -280,7 +280,7 @@ func HandleUserDeleteConnection(response http.ResponseWriter, request *http.Requ } func HandleUserElevateConnection(response http.ResponseWriter, request *http.Request) { - if !methodAllowed(&response, request) { + if !requestValidCheck(&response, request) { return } ctx := request.Context() @@ -349,7 +349,7 @@ func HandleUserElevateConnection(response http.ResponseWriter, request *http.Req } func HandleUserGetConnections(response http.ResponseWriter, request *http.Request) { - if !methodAllowed(&response, request) { + if !requestValidCheck(&response, request) { return } ctx := request.Context() diff --git a/packages/http/httpUser.go b/packages/http/httpUser.go index fc4fc02..ec1db10 100644 --- a/packages/http/httpUser.go +++ b/packages/http/httpUser.go @@ -16,7 +16,7 @@ import ( ) func HandleUserNewToken(response http.ResponseWriter, request *http.Request) { - if !methodAllowed(&response, request) { + if !requestValidCheck(&response, request) { return } @@ -75,7 +75,7 @@ func HandleUserNewToken(response http.ResponseWriter, request *http.Request) { } func HandleUserNew(response http.ResponseWriter, request *http.Request) { - if !methodAllowed(&response, request) { + if !requestValidCheck(&response, request) { return } @@ -116,7 +116,7 @@ func HandleUserNew(response http.ResponseWriter, request *http.Request) { } func HandleUserDelete(response http.ResponseWriter, request *http.Request) { - if !methodAllowed(&response, request) { + if !requestValidCheck(&response, request) { return } ctx := request.Context() @@ -139,7 +139,7 @@ func HandleUserDelete(response http.ResponseWriter, request *http.Request) { // HandleUserModifyAppearance currently just color func HandleUserModifyAppearance(response http.ResponseWriter, request *http.Request) { - if !methodAllowed(&response, request) { + if !requestValidCheck(&response, request) { return } @@ -166,7 +166,7 @@ func HandleUserModifyAppearance(response http.ResponseWriter, request *http.Requ // HandleUserModifyAbout currently just pronouns func HandleUserModifyAbout(response http.ResponseWriter, request *http.Request) { - if !methodAllowed(&response, request) { + if !requestValidCheck(&response, request) { return } diff --git a/packages/minio/minio.go b/packages/minio/minio.go index e9c16b7..3783faf 100644 --- a/packages/minio/minio.go +++ b/packages/minio/minio.go @@ -2,6 +2,8 @@ package minio import ( "context" + "go-socket/packages/globals" + "io" "github.com/minio/minio-go/v7" "github.com/minio/minio-go/v7/pkg/credentials" @@ -24,5 +26,13 @@ func MinInit() { } if !exists { + err = dbConn.MakeBucket(ctx, globals.FileStorageBucketName, minio.MakeBucketOptions{}) + if err != nil { + return + } } } + +func putFile(ctx context.Context, key string, reader io.Reader, size uint32, contentType string) error { + +}