mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-05-07 00:37:36 +00:00
47 lines
1.4 KiB
Go
47 lines
1.4 KiB
Go
package api
|
|
|
|
import "net/http"
|
|
|
|
var publicDemoAdminOperationsPolicies = []publicDemoCommercialRoutePolicy{
|
|
{
|
|
route: "GET /api/diagnostics",
|
|
exposure: publicDemoCommercialExposureHidden,
|
|
matches: exactDemoCommercialMethodPath(http.MethodGet, "/api/diagnostics"),
|
|
},
|
|
{
|
|
route: "POST /api/diagnostics/docker/prepare-token",
|
|
exposure: publicDemoCommercialExposureHidden,
|
|
matches: exactDemoCommercialMethodPath(http.MethodPost, "/api/diagnostics/docker/prepare-token"),
|
|
},
|
|
{
|
|
route: "GET /api/logs/stream",
|
|
exposure: publicDemoCommercialExposureHidden,
|
|
matches: exactDemoCommercialMethodPath(http.MethodGet, "/api/logs/stream"),
|
|
},
|
|
{
|
|
route: "GET /api/logs/download",
|
|
exposure: publicDemoCommercialExposureHidden,
|
|
matches: exactDemoCommercialMethodPath(http.MethodGet, "/api/logs/download"),
|
|
},
|
|
{
|
|
route: "GET /api/logs/level",
|
|
exposure: publicDemoCommercialExposureHidden,
|
|
matches: exactDemoCommercialMethodPath(http.MethodGet, "/api/logs/level"),
|
|
},
|
|
{
|
|
route: "POST /api/logs/level",
|
|
exposure: publicDemoCommercialExposureHidden,
|
|
matches: exactDemoCommercialMethodPath(http.MethodPost, "/api/logs/level"),
|
|
},
|
|
}
|
|
|
|
func publicDemoAdminOperationsPolicyForRequest(
|
|
r *http.Request,
|
|
) (publicDemoCommercialExposure, bool) {
|
|
for _, policy := range publicDemoAdminOperationsPolicies {
|
|
if policy.matches != nil && policy.matches(r) {
|
|
return policy.exposure, true
|
|
}
|
|
}
|
|
return "", false
|
|
}
|