chore: implement better 404 for unimplemented scim endpoints (#15232)

Prior to this, html was returned.
This commit is contained in:
Steven Masley
2024-10-25 13:23:12 -04:00
committed by GitHub
parent 487b37b228
commit 900e2cd39c
3 changed files with 10 additions and 14 deletions

View File

@ -455,7 +455,7 @@ func New(ctx context.Context, options *Options) (_ *API, err error) {
if len(options.SCIMAPIKey) != 0 {
api.AGPL.RootHandler.Route("/scim/v2", func(r chi.Router) {
r.Use(
api.scimEnabledMW,
api.RequireFeatureMW(codersdk.FeatureSCIM),
)
r.Post("/Users", api.scimPostUser)
r.Route("/Users", func(r chi.Router) {
@ -464,6 +464,13 @@ func New(ctx context.Context, options *Options) (_ *API, err error) {
r.Get("/{id}", api.scimGetUser)
r.Patch("/{id}", api.scimPatchUser)
})
r.NotFound(func(w http.ResponseWriter, r *http.Request) {
u := r.URL.String()
httpapi.Write(r.Context(), w, http.StatusNotFound, codersdk.Response{
Message: fmt.Sprintf("SCIM endpoint %s not found", u),
Detail: "This endpoint is not implemented. If it is correct and required, please contact support.",
})
})
})
} else {
// Show a helpful 404 error. Because this is not under the /api/v2 routes,