/
githubmirror
/
photoprism
Обзор
Документация
Войти
/
githubmirror
/
photoprism
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
internal/api/echo.go
56 строк
1 KB
Michael Mayer
PWA: Improve service worker server endpoint #5274
18 окт 2025, 13:30
18 окт 2025, 13:30
5a95d97
Код
Авторство
О чём код?
package api import ( "net/http" "github.com/gin-gonic/gin" "github.com/photoprism/photoprism/internal/photoprism/get" ) // Echo returns the request and response headers as JSON if debug mode is enabled. // // @Summary returns the request and response headers as JSON if debug mode is enabled // @Id Echo // @Tags Debug // @Success 200 // @Router /api/v1/echo [get] func Echo(router *gin.RouterGroup) { methods := []string{ http.MethodGet, http.MethodHead, http.MethodPost, http.MethodPut, http.MethodPatch, http.MethodDelete, http.MethodConnect, http.MethodTrace, } router.Match(methods, "/echo", func(c *gin.Context) { // Return if only headers are requested. if c.Request.Method == http.MethodHead { return } // Abort if debug mode is disabled. if !get.Config().Debug() { AbortFeatureDisabled(c) return } else if c.Request == nil || c.Writer == nil { AbortUnexpectedError(c) return } // Return request information. echoResponse := gin.H{ "url": c.Request.URL.String(), "method": c.Request.Method, "headers": map[string]http.Header{ "request": c.Request.Header, "response": c.Writer.Header(), }, } c.JSON(http.StatusOK, echoResponse) }) }