add paritional files uploading for minIO

This commit is contained in:
2026-04-14 21:42:22 +02:00
parent 48d3c6f857
commit 60a02b73c0
5 changed files with 21 additions and 15 deletions
+7 -3
View File
@@ -3,7 +3,11 @@ package globals
import "time" import "time"
const ( const (
MaxDirectMsgCache uint32 = 12 MaxDirectMsgCache uint32 = 12
FileStorageBucketName string = "communicator" FileStorageBucketName string = "communicator"
FileDownloadLinkTtl time.Duration = 24 * time.Hour MaxPostBytes uint32 = 4 << 10
MaxPostWithFileBytes uint32 = 1 << 30
FileProcessingPartSize uint64 = 24 << 10
FileProcessingThreads uint = 3
FileDownloadLinkTtl time.Duration = 24 * time.Hour
) )
+1 -1
View File
@@ -4,7 +4,7 @@ import (
"net/http" "net/http"
) )
func requestValidCheck(response *http.ResponseWriter, request *http.Request) bool { func postValidCheckWithResponseOnFail(response *http.ResponseWriter, request *http.Request) bool {
if request.Method != http.MethodPost { if request.Method != http.MethodPost {
http.Error(*response, "POST only", http.StatusMethodNotAllowed) http.Error(*response, "POST only", http.StatusMethodNotAllowed)
return false return false
+6 -6
View File
@@ -20,7 +20,7 @@ import (
) )
func HandleDm(response http.ResponseWriter, request *http.Request) { func HandleDm(response http.ResponseWriter, request *http.Request) {
if !requestValidCheck(&response, request) { if !postValidCheckWithResponseOnFail(&response, request) {
return return
} }
@@ -86,7 +86,7 @@ func HandleDm(response http.ResponseWriter, request *http.Request) {
} }
func HandleUserGetConnectionMessages(response http.ResponseWriter, request *http.Request) { func HandleUserGetConnectionMessages(response http.ResponseWriter, request *http.Request) {
if !requestValidCheck(&response, request) { if !postValidCheckWithResponseOnFail(&response, request) {
return return
} }
ctx := request.Context() ctx := request.Context()
@@ -162,7 +162,7 @@ func HandleUserGetConnectionMessages(response http.ResponseWriter, request *http
} }
func HandleUserNewConnection(response http.ResponseWriter, request *http.Request) { func HandleUserNewConnection(response http.ResponseWriter, request *http.Request) {
if !requestValidCheck(&response, request) { if !postValidCheckWithResponseOnFail(&response, request) {
return return
} }
ctx := request.Context() ctx := request.Context()
@@ -221,7 +221,7 @@ func HandleUserNewConnection(response http.ResponseWriter, request *http.Request
} }
func HandleUserDeleteConnection(response http.ResponseWriter, request *http.Request) { func HandleUserDeleteConnection(response http.ResponseWriter, request *http.Request) {
if !requestValidCheck(&response, request) { if !postValidCheckWithResponseOnFail(&response, request) {
return return
} }
ctx := request.Context() ctx := request.Context()
@@ -280,7 +280,7 @@ func HandleUserDeleteConnection(response http.ResponseWriter, request *http.Requ
} }
func HandleUserElevateConnection(response http.ResponseWriter, request *http.Request) { func HandleUserElevateConnection(response http.ResponseWriter, request *http.Request) {
if !requestValidCheck(&response, request) { if !postValidCheckWithResponseOnFail(&response, request) {
return return
} }
ctx := request.Context() ctx := request.Context()
@@ -349,7 +349,7 @@ func HandleUserElevateConnection(response http.ResponseWriter, request *http.Req
} }
func HandleUserGetConnections(response http.ResponseWriter, request *http.Request) { func HandleUserGetConnections(response http.ResponseWriter, request *http.Request) {
if !requestValidCheck(&response, request) { if !postValidCheckWithResponseOnFail(&response, request) {
return return
} }
ctx := request.Context() ctx := request.Context()
+5 -5
View File
@@ -16,7 +16,7 @@ import (
) )
func HandleUserNewToken(response http.ResponseWriter, request *http.Request) { func HandleUserNewToken(response http.ResponseWriter, request *http.Request) {
if !requestValidCheck(&response, request) { if !postValidCheckWithResponseOnFail(&response, request) {
return return
} }
@@ -75,7 +75,7 @@ func HandleUserNewToken(response http.ResponseWriter, request *http.Request) {
} }
func HandleUserNew(response http.ResponseWriter, request *http.Request) { func HandleUserNew(response http.ResponseWriter, request *http.Request) {
if !requestValidCheck(&response, request) { if !postValidCheckWithResponseOnFail(&response, request) {
return return
} }
@@ -116,7 +116,7 @@ func HandleUserNew(response http.ResponseWriter, request *http.Request) {
} }
func HandleUserDelete(response http.ResponseWriter, request *http.Request) { func HandleUserDelete(response http.ResponseWriter, request *http.Request) {
if !requestValidCheck(&response, request) { if !postValidCheckWithResponseOnFail(&response, request) {
return return
} }
ctx := request.Context() ctx := request.Context()
@@ -139,7 +139,7 @@ func HandleUserDelete(response http.ResponseWriter, request *http.Request) {
// HandleUserModifyAppearance currently just color // HandleUserModifyAppearance currently just color
func HandleUserModifyAppearance(response http.ResponseWriter, request *http.Request) { func HandleUserModifyAppearance(response http.ResponseWriter, request *http.Request) {
if !requestValidCheck(&response, request) { if !postValidCheckWithResponseOnFail(&response, request) {
return return
} }
@@ -166,7 +166,7 @@ func HandleUserModifyAppearance(response http.ResponseWriter, request *http.Requ
// HandleUserModifyAbout currently just pronouns // HandleUserModifyAbout currently just pronouns
func HandleUserModifyAbout(response http.ResponseWriter, request *http.Request) { func HandleUserModifyAbout(response http.ResponseWriter, request *http.Request) {
if !requestValidCheck(&response, request) { if !postValidCheckWithResponseOnFail(&response, request) {
return return
} }
+2
View File
@@ -68,6 +68,8 @@ func upload(ctx context.Context, key string, body io.Reader, size int64, content
_, err := minClient.PutObject(ctx, globals.FileStorageBucketName, key, body, size, _, err := minClient.PutObject(ctx, globals.FileStorageBucketName, key, body, size,
minio.PutObjectOptions{ minio.PutObjectOptions{
ContentType: contentType, ContentType: contentType,
PartSize: globals.FileProcessingPartSize,
NumThreads: globals.FileProcessingThreads,
}) })
return err return err
} }