Add /ping endpoint
This commit is contained in:
		
							parent
							
								
									1c0989ff58
								
							
						
					
					
						commit
						8702ad2e52
					
				|  | @ -110,6 +110,7 @@ The environment variables `google_auth_client_id`, `google_auth_secret` and `goo | ||||||
| 
 | 
 | ||||||
| Google auth proxy responds directly to the following endpoints. All other endpoints will be authenticated. | Google auth proxy responds directly to the following endpoints. All other endpoints will be authenticated. | ||||||
| 
 | 
 | ||||||
|  | * /ping - returns an 200 OK response | ||||||
| * /oauth2/sign_in - the login page, which also doubles as a sign out page (it clears cookies) | * /oauth2/sign_in - the login page, which also doubles as a sign out page (it clears cookies) | ||||||
| * /oauth2/start - a URL that will redirect to start the oauth cycle | * /oauth2/start - a URL that will redirect to start the oauth cycle | ||||||
| * /oauth2/callback - the URL used at the end of the oauth cycle | * /oauth2/callback - the URL used at the end of the oauth cycle | ||||||
|  |  | ||||||
|  | @ -16,6 +16,7 @@ import ( | ||||||
| 	"github.com/bitly/go-simplejson" | 	"github.com/bitly/go-simplejson" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | const pingPath = "/ping" | ||||||
| const signInPath = "/oauth2/sign_in" | const signInPath = "/oauth2/sign_in" | ||||||
| const oauthStartPath = "/oauth2/start" | const oauthStartPath = "/oauth2/start" | ||||||
| const oauthCallbackPath = "/oauth2/callback" | const oauthCallbackPath = "/oauth2/callback" | ||||||
|  | @ -192,6 +193,11 @@ func (p *OauthProxy) SetCookie(rw http.ResponseWriter, req *http.Request, val st | ||||||
| 	http.SetCookie(rw, cookie) | 	http.SetCookie(rw, cookie) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | func (p *OauthProxy) PingPage(rw http.ResponseWriter) { | ||||||
|  | 	rw.WriteHeader(http.StatusOK) | ||||||
|  | 	fmt.Fprintf(rw, "pong") | ||||||
|  | } | ||||||
|  | 
 | ||||||
| func (p *OauthProxy) ErrorPage(rw http.ResponseWriter, code int, title string, message string) { | func (p *OauthProxy) ErrorPage(rw http.ResponseWriter, code int, title string, message string) { | ||||||
| 	log.Printf("ErrorPage %d %s %s", code, title, message) | 	log.Printf("ErrorPage %d %s %s", code, title, message) | ||||||
| 	rw.WriteHeader(code) | 	rw.WriteHeader(code) | ||||||
|  | @ -267,6 +273,11 @@ func (p *OauthProxy) ServeHTTP(rw http.ResponseWriter, req *http.Request) { | ||||||
| 	var ok bool | 	var ok bool | ||||||
| 	var user string | 	var user string | ||||||
| 
 | 
 | ||||||
|  | 	if req.URL.Path == pingPath { | ||||||
|  | 		p.PingPage(rw) | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	if req.URL.Path == signInPath { | 	if req.URL.Path == signInPath { | ||||||
| 		redirect, err := p.GetRedirect(req) | 		redirect, err := p.GetRedirect(req) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue