mirror of
https://github.com/lus/pasty.git
synced 2023-08-10 21:13:09 +03:00
implement info endpoint
This commit is contained in:
parent
dc16506932
commit
6260f20fc4
@ -70,6 +70,10 @@ func main() {
|
||||
|
||||
// Start the web server
|
||||
log.Info().Str("address", cfg.WebAddress).Msg("Starting the web server...")
|
||||
var adminTokens []string
|
||||
if cfg.ModificationTokenMaster != "" {
|
||||
adminTokens = []string{cfg.ModificationTokenMaster}
|
||||
}
|
||||
webServer := &web.Server{
|
||||
Address: cfg.WebAddress,
|
||||
Storage: driver,
|
||||
@ -80,7 +84,7 @@ func main() {
|
||||
ModificationTokensEnabled: cfg.ModificationTokens,
|
||||
ModificationTokenLength: cfg.ModificationTokenLength,
|
||||
ModificationTokenCharset: cfg.ModificationTokenCharacters,
|
||||
AdminTokens: []string{cfg.ModificationTokenMaster},
|
||||
AdminTokens: adminTokens,
|
||||
}
|
||||
go func() {
|
||||
if err := webServer.Start(); err != nil && !errors.Is(err, http.ErrServerClosed) {
|
||||
|
@ -6,6 +6,7 @@ const devEnvironmentName = "dev"
|
||||
|
||||
var (
|
||||
Environment = devEnvironmentName
|
||||
Version = "dev"
|
||||
)
|
||||
|
||||
func IsProdEnvironment() bool {
|
||||
|
@ -59,7 +59,7 @@ func frontendHandler(notFoundHandler http.HandlerFunc) http.HandlerFunc {
|
||||
return
|
||||
}
|
||||
|
||||
writer.Header().Set("Content-Type", mime.TypeByExtension(fileInfo.Name()))
|
||||
writer.Header().Set("Content-Type", mime.TypeByExtension(filepath.Ext(fileInfo.Name())))
|
||||
writer.Header().Set("Content-Length", strconv.Itoa(len(content)))
|
||||
_, _ = writer.Write(content)
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package web
|
||||
import (
|
||||
"context"
|
||||
"github.com/go-chi/chi/v5"
|
||||
"github.com/lus/pasty/internal/meta"
|
||||
"github.com/lus/pasty/internal/pastes"
|
||||
"github.com/lus/pasty/internal/storage"
|
||||
"net/http"
|
||||
@ -61,7 +62,15 @@ func (server *Server) Start() error {
|
||||
router.With(server.v2MiddlewareInjectPaste).Get("/api/v2/pastes/{paste_id}", server.v2EndpointGetPaste)
|
||||
router.Post("/api/v2/pastes", server.v2EndpointCreatePaste)
|
||||
router.With(server.v2MiddlewareInjectPaste, server.v2MiddlewareAuthorize).Patch("/api/v2/pastes/{paste_id}", server.v2EndpointModifyPaste)
|
||||
router.Delete("/api/v2/pastes/{paste_id}", server.v2EndpointDeletePaste)
|
||||
router.With(server.v2MiddlewareInjectPaste, server.v2MiddlewareAuthorize).Delete("/api/v2/pastes/{paste_id}", server.v2EndpointDeletePaste)
|
||||
router.Get("/api/v2/info", func(writer http.ResponseWriter, request *http.Request) {
|
||||
writeJSONOrErr(writer, http.StatusOK, map[string]any{
|
||||
"version": meta.Version,
|
||||
"modificationTokens": server.ModificationTokensEnabled,
|
||||
"reports": false, // TODO: Return report state
|
||||
"pasteLifetime": -1, // TODO: Return paste lifetime
|
||||
})
|
||||
})
|
||||
|
||||
// Start the HTTP server
|
||||
server.httpServer = &http.Server{
|
||||
|
Loading…
Reference in New Issue
Block a user