| 901 | } |
| 902 | |
| 903 | func (h *Handler) handleOAuthError(w http.ResponseWriter, r *http.Request, err error) { |
| 904 | if err == nil { |
| 905 | return |
| 906 | } |
| 907 | |
| 908 | if err, ok := err.(impart.HTTPError); ok { |
| 909 | if err.Status >= 300 && err.Status < 400 { |
| 910 | sendRedirect(w, err.Status, err.Message) |
| 911 | return |
| 912 | } |
| 913 | |
| 914 | impart.WriteOAuthError(w, err) |
| 915 | return |
| 916 | } |
| 917 | |
| 918 | impart.WriteOAuthError(w, impart.HTTPError{http.StatusInternalServerError, "This is an unhelpful error message for a miscellaneous internal error."}) |
| 919 | return |
| 920 | } |
| 921 | |
| 922 | func correctPageFromLoginAttempt(r *http.Request) string { |
| 923 | to := r.FormValue("to") |