diff --git a/server/acl.go b/server/acl.go index da93b9f1..8656a4e6 100644 --- a/server/acl.go +++ b/server/acl.go @@ -58,7 +58,7 @@ func aclMiddleware(s *Server, next echo.HandlerFunc) echo.HandlerFunc { ctx := c.Request().Context() path := c.Path() - if s.DefaultAuthSkipper(c) { + if s.defaultAuthSkipper(c) { return next(c) } diff --git a/server/common.go b/server/common.go index 1ac53c45..4aabe5de 100644 --- a/server/common.go +++ b/server/common.go @@ -18,16 +18,16 @@ func composeResponse(data interface{}) response { } } -func DefaultGetRequestSkipper(c echo.Context) bool { +func defaultGetRequestSkipper(c echo.Context) bool { return c.Request().Method == http.MethodGet } -func DefaultAPIRequestSkipper(c echo.Context) bool { +func defaultAPIRequestSkipper(c echo.Context) bool { path := c.Path() return common.HasPrefixes(path, "/api") } -func (server *Server) DefaultAuthSkipper(c echo.Context) bool { +func (server *Server) defaultAuthSkipper(c echo.Context) bool { ctx := c.Request().Context() path := c.Path() diff --git a/server/embed_frontend.go b/server/embed_frontend.go index 7de421e0..01d589e8 100644 --- a/server/embed_frontend.go +++ b/server/embed_frontend.go @@ -25,7 +25,7 @@ func embedFrontend(e *echo.Echo) { // Use echo static middleware to serve the built dist folder // refer: https://github.com/labstack/echo/blob/master/middleware/static.go e.Use(middleware.StaticWithConfig(middleware.StaticConfig{ - Skipper: DefaultAPIRequestSkipper, + Skipper: defaultAPIRequestSkipper, HTML5: true, Filesystem: getFileSystem("dist"), })) @@ -38,6 +38,7 @@ func embedFrontend(e *echo.Echo) { } }) assetsGroup.Use(middleware.StaticWithConfig(middleware.StaticConfig{ + Skipper: defaultAPIRequestSkipper, HTML5: true, Filesystem: getFileSystem("dist/assets"), })) diff --git a/server/profile/profile.go b/server/profile/profile.go index 553bdbd1..0e1c8fe8 100644 --- a/server/profile/profile.go +++ b/server/profile/profile.go @@ -15,11 +15,11 @@ type Profile struct { // Mode can be "prod" or "dev" Mode string `json:"mode"` // Port is the binding port for server - Port int `json:"port"` + Port int `json:"-"` // Data is the data directory - Data string `json:"data"` + Data string `json:"-"` // DSN points to where Memos stores its own data - DSN string `json:"dsn"` + DSN string `json:"-"` // Version is the current version of server Version string `json:"version"` } diff --git a/server/server.go b/server/server.go index 835301ad..2863db7f 100644 --- a/server/server.go +++ b/server/server.go @@ -58,14 +58,14 @@ func NewServer(ctx context.Context, profile *profile.Profile) (*Server, error) { e.Use(middleware.Gzip()) e.Use(middleware.CSRFWithConfig(middleware.CSRFConfig{ - Skipper: s.DefaultAuthSkipper, + Skipper: s.defaultAuthSkipper, TokenLookup: "cookie:_csrf", })) e.Use(middleware.CORS()) e.Use(middleware.SecureWithConfig(middleware.SecureConfig{ - Skipper: DefaultGetRequestSkipper, + Skipper: defaultGetRequestSkipper, XSSProtection: "1; mode=block", ContentTypeNosniff: "nosniff", XFrameOptions: "SAMEORIGIN",