Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parameterize `CSRF` middleware #1909

merged 5 commits into from Jun 4, 2018


Copy link

@tomwadeson tomwadeson commented Jun 1, 2018

Relates to: #1890

Copy link
Contributor Author

@tomwadeson tomwadeson commented Jun 1, 2018

An issue that I'm about to bump into is bringing the tests (and examples?) inline with this new generalised API.

To get the types to align, due to HttpRoutes, I'm going to have to instantiate a CSRF with:

  val csrf = CSRF.withGeneratedKey[OptionT[IO, ?], IO](clock = testClock).value.unsafeRunSync().get

... which is fairly disgusting (and I think will need to be repeated several times through the test).

Any suggestions for things I can do to mitigate this in the implementation?

@tomwadeson tomwadeson force-pushed the tomwadeson:parameterize-csrf-middleware branch from fcfbeda to 5d4d760 Jun 1, 2018
Copy link

@rossabaker rossabaker commented Jun 3, 2018

Instead of HttpRoutes, can you just use HttpApp? (You can pass a total function to HttpApp.apply, or call .orNotFound on an HttpRoutes).

tomwadeson added 2 commits Jun 3, 2018
@tomwadeson tomwadeson changed the title [WIP] Parameterize `CSRF` middleware [Parameterize `CSRF` middleware Jun 3, 2018
@tomwadeson tomwadeson changed the title [Parameterize `CSRF` middleware Parameterize `CSRF` middleware Jun 3, 2018
@rossabaker rossabaker merged commit ce2e2da into http4s:master Jun 4, 2018
2 checks passed
2 checks passed
continuous-integration/appveyor/pr AppVeyor build succeeded
continuous-integration/travis-ci/pr The Travis CI build passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants