Skip to content
This repository was archived by the owner on Oct 24, 2025. It is now read-only.

Commit eb344b4

Browse files
committed
review fixes 2nd part
1 parent 16cf8dd commit eb344b4

File tree

5 files changed

+76
-73
lines changed

5 files changed

+76
-73
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package com.softwaremill.session.javadsl
2+
3+
import java.util.function.Supplier
4+
5+
import akka.http.javadsl.server.Route
6+
import akka.http.javadsl.server.directives.RouteAdapter
7+
import com.softwaremill.session.CsrfCheckMode
8+
9+
trait CsrfDirectives {
10+
11+
/**
12+
* Java alternative for com.softwaremill.session.CsrfDirectives
13+
*/
14+
def randomTokenCsrfProtection[T](checkMode: CsrfCheckMode[T], inner: Supplier[Route]): Route = RouteAdapter {
15+
com.softwaremill.session.CsrfDirectives.randomTokenCsrfProtection(checkMode) {
16+
inner.get.asInstanceOf[RouteAdapter].delegate
17+
}
18+
}
19+
20+
def setNewCsrfToken[T](checkMode: CsrfCheckMode[T], inner: Supplier[Route]): Route = RouteAdapter {
21+
com.softwaremill.session.CsrfDirectives.setNewCsrfToken(checkMode) {
22+
inner.get.asInstanceOf[RouteAdapter].delegate
23+
}
24+
}
25+
26+
27+
}
28+
29+
object CsrfDirectives extends CsrfDirectives

core/src/main/java/com/softwaremill/session/javadsl/HttpSessionAwareDirectives.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@
33
import akka.http.javadsl.server.AllDirectives;
44
import akka.http.javadsl.server.Route;
55
import com.softwaremill.session.CsrfCheckMode;
6-
import com.softwaremill.session.CsrfDirectives$;
76
import com.softwaremill.session.SessionContinuity;
8-
import com.softwaremill.session.SessionDirectives$;
97
import com.softwaremill.session.SessionManager;
108
import com.softwaremill.session.SetSessionTransport;
119
import scala.Option;
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package com.softwaremill.session.javadsl
2+
3+
import java.util.function.Supplier
4+
5+
import akka.http.javadsl.server.Route
6+
import akka.http.javadsl.server.directives.RouteAdapter
7+
import com.softwaremill.session._
8+
9+
/**
10+
* Java alternative for com.softwaremill.session.SessionDirectives
11+
*/
12+
trait SessionDirectives extends OneOffSessionDirectives with RefreshableSessionDirectives {
13+
14+
def setSession[T](sc: SessionContinuity[T], st: SetSessionTransport, v: T, inner: Supplier[Route]): Route = RouteAdapter {
15+
com.softwaremill.session.SessionDirectives.setSession(sc, st, v) {
16+
inner.get.asInstanceOf[RouteAdapter].delegate
17+
}
18+
}
19+
20+
def invalidateSession[T](sc: SessionContinuity[T], st: GetSessionTransport, inner: Supplier[Route]): Route = RouteAdapter {
21+
com.softwaremill.session.SessionDirectives.invalidateSession(sc, st) {
22+
inner.get.asInstanceOf[RouteAdapter].delegate
23+
}
24+
}
25+
26+
def optionalSession[T](sc: SessionContinuity[T], st: GetSessionTransport, inner: java.util.function.Function[Option[T], Route]): Route = RouteAdapter {
27+
com.softwaremill.session.SessionDirectives.optionalSession(sc, st) { session =>
28+
inner.apply(session).asInstanceOf[RouteAdapter].delegate
29+
}
30+
}
31+
32+
def requiredSession[T](sc: SessionContinuity[T], st: GetSessionTransport, inner: java.util.function.Function[T, Route]): Route = RouteAdapter {
33+
com.softwaremill.session.SessionDirectives.requiredSession(sc, st) { session =>
34+
inner.apply(session).asInstanceOf[RouteAdapter].delegate
35+
}
36+
}
37+
38+
def touchRequiredSession[T](sc: SessionContinuity[T], st: GetSessionTransport, inner: java.util.function.Function[T, Route]): Route = RouteAdapter {
39+
com.softwaremill.session.SessionDirectives.touchRequiredSession(sc, st) { session =>
40+
inner.apply(session).asInstanceOf[RouteAdapter].delegate
41+
}
42+
}
43+
44+
}
45+
46+
object SessionDirectives extends SessionDirectives
47+

core/src/main/scala/com/softwaremill/session/CsrfDirectives.scala

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
package com.softwaremill.session
22

3-
import java.util.function.Supplier
4-
5-
import akka.http.javadsl.server.Route
6-
import akka.http.javadsl.server.directives.RouteAdapter
73
import akka.http.scaladsl.server.Directives._
84
import akka.http.scaladsl.server.{Directive0, Directive1}
95
import akka.stream.Materializer
@@ -40,15 +36,6 @@ trait CsrfDirectives {
4036
}
4137
}
4238

43-
/**
44-
* Java alternative
45-
*/
46-
def randomTokenCsrfProtection[T](checkMode: CsrfCheckMode[T], inner: Supplier[Route]): Route = RouteAdapter {
47-
randomTokenCsrfProtection(checkMode) {
48-
inner.get.asInstanceOf[RouteAdapter].delegate
49-
}
50-
}
51-
5239
def submittedCsrfToken[T](checkMode: CsrfCheckMode[T]): Directive1[String] = {
5340
headerValueByName(checkMode.manager.config.csrfSubmittedName).recover { rejections =>
5441
checkMode match {
@@ -65,15 +52,6 @@ trait CsrfDirectives {
6552

6653
def setNewCsrfToken[T](checkMode: CsrfCheckMode[T]): Directive0 =
6754
setCookie(checkMode.csrfManager.createCookie())
68-
69-
/**
70-
* Java alternative
71-
*/
72-
def setNewCsrfToken[T](checkMode: CsrfCheckMode[T], inner: Supplier[Route]): Route = RouteAdapter {
73-
setNewCsrfToken(checkMode) {
74-
inner.get.asInstanceOf[RouteAdapter].delegate
75-
}
76-
}
7755
}
7856

7957
object CsrfDirectives extends CsrfDirectives

core/src/main/scala/com/softwaremill/session/SessionDirectives.scala

Lines changed: 0 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
package com.softwaremill.session
22

3-
import java.util.function.Supplier
4-
5-
import akka.http.javadsl.server.Route
6-
import akka.http.javadsl.server.directives.RouteAdapter
73
import akka.http.scaladsl.server.Directives._
84
import akka.http.scaladsl.server.{Directive0, Directive1}
95

@@ -26,15 +22,6 @@ trait SessionDirectives extends OneOffSessionDirectives with RefreshableSessionD
2622
}
2723
}
2824

29-
/**
30-
* Java alternative
31-
*/
32-
def setSession[T](sc: SessionContinuity[T], st: SetSessionTransport, v: T, inner: Supplier[Route]): Route = RouteAdapter {
33-
setSession(sc, st, v) {
34-
inner.get.asInstanceOf[RouteAdapter].delegate
35-
}
36-
}
37-
3825
/**
3926
* Read a session from the session cookie, wrapped in [[SessionResult]] describing the possible
4027
* success/failure outcomes.
@@ -63,30 +50,12 @@ trait SessionDirectives extends OneOffSessionDirectives with RefreshableSessionD
6350
}
6451
}
6552

66-
/**
67-
* Java alternative
68-
*/
69-
def invalidateSession[T](sc: SessionContinuity[T], st: GetSessionTransport, inner: Supplier[Route]): Route = RouteAdapter {
70-
invalidateSession(sc, st) {
71-
inner.get.asInstanceOf[RouteAdapter].delegate
72-
}
73-
}
74-
7553
/**
7654
* Read an optional session from the session cookie.
7755
*/
7856
def optionalSession[T](sc: SessionContinuity[T], st: GetSessionTransport): Directive1[Option[T]] =
7957
session(sc, st).map(_.toOption)
8058

81-
/**
82-
* Java alternative
83-
*/
84-
def optionalSession[T](sc: SessionContinuity[T], st: GetSessionTransport, inner: java.util.function.Function[Option[T], Route]): Route = RouteAdapter {
85-
optionalSession(sc, st) { session =>
86-
inner.apply(session).asInstanceOf[RouteAdapter].delegate
87-
}
88-
}
89-
9059
/**
9160
* Read a required session from the session cookie.
9261
*/
@@ -96,15 +65,6 @@ trait SessionDirectives extends OneOffSessionDirectives with RefreshableSessionD
9665
case Some(data) => provide(data)
9766
}
9867

99-
/**
100-
* Java alternative
101-
*/
102-
def requiredSession[T](sc: SessionContinuity[T], st: GetSessionTransport, inner: java.util.function.Function[T, Route]): Route = RouteAdapter {
103-
requiredSession(sc, st) { session =>
104-
inner.apply(session).asInstanceOf[RouteAdapter].delegate
105-
}
106-
}
107-
10868
/**
10969
* Sets the session cookie again with the same data. Useful when using the [[SessionConfig.sessionMaxAgeSeconds]]
11070
* option, as it sets the expiry date anew.
@@ -121,15 +81,6 @@ trait SessionDirectives extends OneOffSessionDirectives with RefreshableSessionD
12181
requiredSession(sc, st).flatMap { d => setOneOffSessionSameTransport(sc, st, d) & provide(d) }
12282
}
12383

124-
/**
125-
* Java alternative
126-
*/
127-
def touchRequiredSession[T](sc: SessionContinuity[T], st: GetSessionTransport, inner: java.util.function.Function[T, Route]): Route = RouteAdapter {
128-
touchRequiredSession(sc, st) { session =>
129-
inner.apply(session).asInstanceOf[RouteAdapter].delegate
130-
}
131-
}
132-
13384
}
13485

13586
object SessionDirectives extends SessionDirectives

0 commit comments

Comments
 (0)