working commit

This commit is contained in:
2026-01-28 18:41:34 +02:00
parent a9075902a3
commit 855939d995
4 changed files with 23 additions and 16 deletions
+11
View File
@@ -26,6 +26,10 @@ func NewRouter() *Router {
}
}
func (rout *Router) Selector() *Selector {
return rout.routeHandler
}
func (rout *Router) AddRoute(method, path string, handlerFunc HandlerFunc) {
rout.routeHandler.AddRoute(method, path, handlerFunc)
}
@@ -46,6 +50,10 @@ func (rout *Router) Put(path string, handlerFunc HandlerFunc) {
rout.routeHandler.AddRoute("PUT", path, handlerFunc)
}
func (rout *Router) Patch(path string, handlerFunc HandlerFunc) {
rout.routeHandler.AddRoute("PATCH", path, handlerFunc)
}
func (rout *Router) Delete(path string, handlerFunc HandlerFunc) {
rout.routeHandler.AddRoute("DELETE", path, handlerFunc)
}
@@ -78,6 +86,7 @@ const globalRoutePattern = `^%s$`
func (hand *Selector) AddRoute(method, path string, handlerFunc HandlerFunc) error {
var err error
rawPath := path
path, err = pathCompiler(path)
if err != nil {
return err
@@ -92,6 +101,7 @@ func (hand *Selector) AddRoute(method, path string, handlerFunc HandlerFunc) err
route := &Route{
Method: method,
Path: path,
RawPath: rawPath,
Handler: handlerFunc,
Regexp: re,
}
@@ -124,6 +134,7 @@ type Route struct {
Method string
Regexp *regexp.Regexp
Path string
RawPath string
Handler HandlerFunc
}
-14
View File
@@ -1,14 +0,0 @@
package service
import (
"fmt"
)
var (
filepathRegexp = `{path:[a-zA-Z_][\-a-zA-Z0-9_\/\.%~]+}`
fileApiPrefix = `/v3/file`
FileExistsPath = fmt.Sprintf("%s/%s", fileApiPrefix, filepathRegexp)
ServiceHelloPath = "/service/hello"
)
+11 -2
View File
@@ -43,8 +43,17 @@ func (svc *Service) Build() error {
svc.logg.Infof("Service build ")
svc.rout = router.NewRouter()
svc.rout.Get(ServiceHelloPath, svc.hand.SendHello)
svc.rout.Get(FileExistsPath, svc.hand.FileExists)
svc.rout.Get("/v3/api/service/hello", svc.hand.SendHello)
svc.rout.Head("/v3/api/file/{filepath}", svc.hand.FileExists)
svc.rout.Put("/v3/api/file/{filepath}", svc.hand.PutFile)
svc.rout.Get("/v3/api/file/{filepath}", svc.hand.GetFile)
svc.rout.Delete("/v3/api/file/{filepath}", svc.hand.DeleteFile)
selector := svc.rout.Selector()
for _, item := range selector.Routes {
svc.logg.Infof("%s\t%s", item.Method, item.RawPath)
}
listenAddress := fmt.Sprintf("%s:%d", svc.address, svc.portnum)
svc.listen, err = net.Listen(protocol, listenAddress)
+1
View File
@@ -51,6 +51,7 @@ type FileExistsParams struct {
}
func (util *Util) FileExists(cmd *cobra.Command, args []string) {
}
// Put file