Mercurial > gemma
comparison pkg/controllers/routes.go @ 1127:71ba4a66ec95
Return 404 if a proxied service is not found.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 07 Nov 2018 16:08:25 +0100 |
parents | 137a8144e581 |
children | 3d50f558870c |
comparison
equal
deleted
inserted
replaced
1125:dbc663b74724 | 1127:71ba4a66ec95 |
---|---|
90 Handle: passwordReset, | 90 Handle: passwordReset, |
91 NoConn: true, | 91 NoConn: true, |
92 }).Methods(http.MethodGet) | 92 }).Methods(http.MethodGet) |
93 | 93 |
94 // External proxies. | 94 // External proxies. |
95 external := &httputil.ReverseProxy{ | 95 external := middleware.NotFound(&httputil.ReverseProxy{ |
96 Director: proxyDirector(models.ExternalServices.Find), | 96 Director: proxyDirector(models.ExternalServices.Find), |
97 ModifyResponse: proxyModifyResponse("/api/external/"), | 97 ModifyResponse: proxyModifyResponse("/api/external/"), |
98 } | 98 }) |
99 | 99 |
100 externalAuth := any(external) | 100 externalAuth := any(external) |
101 | 101 |
102 api.Handle("/external/{hash}/{url}", externalAuth). | 102 api.Handle("/external/{hash}/{url}", externalAuth). |
103 Methods( | 103 Methods( |
108 Methods( | 108 Methods( |
109 http.MethodGet, http.MethodPost, | 109 http.MethodGet, http.MethodPost, |
110 http.MethodPut, http.MethodDelete) | 110 http.MethodPut, http.MethodDelete) |
111 | 111 |
112 // Internal proxies. | 112 // Internal proxies. |
113 internal := &httputil.ReverseProxy{ | 113 internal := middleware.NotFound(&httputil.ReverseProxy{ |
114 Director: proxyDirector(models.InternalServices.Find), | 114 Director: proxyDirector(models.InternalServices.Find), |
115 ModifyResponse: proxyModifyResponse("/api/internal/"), | 115 ModifyResponse: proxyModifyResponse("/api/internal/"), |
116 } | 116 }) |
117 | 117 |
118 internalAuth := any( | 118 internalAuth := any( |
119 middleware.ModifyQuery(internal, middleware.InjectUser)) | 119 middleware.ModifyQuery(internal, middleware.InjectUser)) |
120 | 120 |
121 api.Handle("/internal/{hash}/{url}", internalAuth). | 121 api.Handle("/internal/{hash}/{url}", internalAuth). |