working commit

This commit is contained in:
2026-01-24 19:21:27 +02:00
parent d704a76bee
commit f2e33d9ff1
5 changed files with 71 additions and 6 deletions
+42
View File
@@ -17,3 +17,45 @@ func (hand *Handler) FileExists(rctx *router.Context) {
code, _, _ := hand.oper.FileExists(params) code, _, _ := hand.oper.FileExists(params)
rctx.SetStatus(code) rctx.SetStatus(code)
} }
func (hand *Handler) PutFile(rctx *router.Context) {
hand.logg.Debugf("handle PutFile")
filepath := rctx.PathMap["filepath"]
params := &operator.PutFileParams{
Filepath: filepath,
Source: rctx.Request.Body,
}
hand.logg.Debugf("filepath: %s", filepath)
code, _, _ := hand.oper.PutFile(params)
rctx.SetStatus(code)
}
func (hand *Handler) GetFile(rctx *router.Context) {
hand.logg.Debugf("handle GetFile")
filepath := rctx.PathMap["filepath"]
params := &operator.GetFileParams{
Filepath: filepath,
}
hand.logg.Debugf("filepath: %s", filepath)
code, res, _ := hand.oper.GetFile(params)
rctx.SetHeader("Content-Type", res.ContentType)
rctx.SetHeader("Content-Length", res.ContentLength)
rctx.SetStatus(code)
}
func (hand *Handler) DeleteFile(rctx *router.Context) {
hand.logg.Debugf("handle DeleteFile")
filepath := rctx.PathMap["filepath"]
params := &operator.DeleteFileParams{
Filepath: filepath,
}
hand.logg.Debugf("filepath: %s", filepath)
code, _, _ := hand.oper.DeleteFile(params)
rctx.SetStatus(code)
}
+9 -4
View File
@@ -22,8 +22,10 @@ func (oper *Operator) FileExists(param *FileExistsParams) (int, *FileExistsResul
// Put file // Put file
type PutFileParams struct { type PutFileParams struct {
Filepath string ContentType string
Source string ContentLength string
Filepath string
Source io.ReadCloser
} }
type PutFileResult struct{} type PutFileResult struct{}
@@ -37,9 +39,12 @@ func (oper *Operator) PutFile(param *PutFileParams) (int, *PutFileResult, error)
// Get file // Get file
type GetFileParams struct { type GetFileParams struct {
Filepath string Filepath string
Dest io.Writer
} }
type GetFileResult struct{} type GetFileResult struct {
ContentType string
ContentLength string
Source io.ReadCloser
}
func (oper *Operator) GetFile(param *GetFileParams) (int, *GetFileResult, error) { func (oper *Operator) GetFile(param *GetFileParams) (int, *GetFileResult, error) {
var err error var err error
+8
View File
@@ -24,6 +24,10 @@ func NewContext(writer http.ResponseWriter, request *http.Request) *Context {
return rctx return rctx
} }
func (rctx *Context) SetHeader(key, value string) {
rctx.Writer.Header().Set(key, value)
}
func (rctx *Context) SetStatus(httpStatus int) { func (rctx *Context) SetStatus(httpStatus int) {
rctx.Writer.WriteHeader(httpStatus) rctx.Writer.WriteHeader(httpStatus)
} }
@@ -37,3 +41,7 @@ func (rctx *Context) SendText(payload string) {
rctx.Writer.Header().Set("Content-Type", "text/plain") rctx.Writer.Header().Set("Content-Type", "text/plain")
rctx.Writer.Write([]byte(payload)) rctx.Writer.Write([]byte(payload))
} }
func (rctx *Context) GetHeader(key string) string {
return rctx.Request.URL.Query().Get(key)
}
+9
View File
@@ -0,0 +1,9 @@
package client
type Client struct {
}
func (cli *Client) FileExists(path string) (bool, error) {
//reqPath = fmt.Sprintf("/v3/api/file/%s", path)
//request, err := http.NewRequest("HEAD", reqPath, nil)
}
+3 -2
View File
@@ -10,6 +10,7 @@ import (
"mstore/app/router" "mstore/app/router"
"mstore/app/server" "mstore/app/server"
"mstore/app/service" "mstore/app/service"
//"mstore/pkg/client"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
) )
@@ -25,8 +26,8 @@ func TestFileExists(t *testing.T) {
err = srv.Build() err = srv.Build()
require.NoError(t, err) require.NoError(t, err)
reqPath := "/api/v3/file/foo/bare/abc123" reqPath := `/v3/api/file/foo/bare`
routePath := `/api/v3/file/{filepath}` routePath := `/v3/api/file/{filepath}`
rout := router.NewRouter() rout := router.NewRouter()
hand := srv.Handler() hand := srv.Handler()