aboutsummaryrefslogtreecommitdiff
path: root/src/Sproxy/Application.hs
AgeCommit message (Collapse)AuthorFilesLines
2017-07-26[WIP] State in OAuth2 callback should be short-livedstateIgor Pashev1-32/+45
2017-05-13Respond with 502 on every backend exceptionIgor Pashev1-2/+6
From RFC 7231: 6.6.3. 502 Bad Gateway The 502 (Bad Gateway) status code indicates that the server, while acting as a gateway or proxy, received an invalid response from an inbound server it accessed while attempting to fulfill the request.
2017-05-13Add end-point for checking access in a bunchIgor Pashev1-2/+35
2016-12-27Disregard possible port in the Host HTTP headerIgor Pashev1-10/+14
Motivation: to make it easy to switch Sproxy's primary port. This could be useful when running private (behind Sproxy) and public (e. g. nginx) HTTPS services on the same server. In such a setup one can use port 443 for public services and alt. HTTPS port 8443 for Sproxy. Before this change, Sproxy took possible port number into account when looking for backend and privileges. Now it ignores port and considers domain name only. This also gets Sproxy in line with browsers and SSL certificates: certificates do not include port numbers, browsers ignore ports when sending cookies.
2016-11-25Make sure all HTTP headers are UTF8-encodedIgor Pashev1-22/+26
Especially X-Family-Name, X-Given-Name. Since we get all the data from JSON and JSON is in UTF8 by default RFC 7159, we are safe. Refactored to make it less error-prone and to get as small number of encoding/decoding as possible.
2016-11-25/.sproxy/logout just redirects if no cookieIgor Pashev1-20/+20
2016-11-24Added comments on proxyingIgor Pashev1-1/+9
2016-11-23Differentiate exceptionsIgor Pashev1-4/+15
2016-11-22Print original headers from backendsIgor Pashev1-3/+3
2016-11-21Remove some headers which are set automaticallyIgor Pashev1-3/+6
By underlying HTTP Client or WAI
2016-11-20Show HTTP version in logsIgor Pashev1-0/+1
2016-11-20oauth2 callback state: include query paramsIgor Pashev1-1/+3
If method of the original query is GET, redirect to original path with query parameters. Otherwise redirect to "/". Previously, when unauthenticated users click on "https://example.net/foo?bar", they are redirected to "https://example.net/foo" after authentication. Now, they will be redirected to "https://example.net/foo?bar"
2016-11-19Initial release (1.90.0)1.90.0Igor Pashev1-0/+372