Skip to content

Commit 5e6fa52

Browse files
committed
add method type parameter ERROR_OUTPUT to invalidate session
1 parent 17043eb commit 5e6fa52

File tree

4 files changed

+25
-22
lines changed

4 files changed

+25
-22
lines changed

tapir/src/main/scala/com/softwaremill/session/OneOffTapirSession.scala

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -308,11 +308,11 @@ private[session] trait OneOffTapirSession[T] {
308308
)
309309
}
310310

311-
private[this] def invalidateOneOffSessionLogic[SECURITY_OUTPUT, PRINCIPAL](
311+
private[this] def invalidateOneOffSessionLogic[SECURITY_OUTPUT, PRINCIPAL, ERROR_OUTPUT](
312312
result: (SECURITY_OUTPUT, PRINCIPAL),
313313
maybeCookie: Option[String],
314314
maybeHeader: Option[String]
315-
): Either[Unit, (Seq[Option[String]], PRINCIPAL)] = {
315+
): Either[ERROR_OUTPUT, (Seq[Option[String]], PRINCIPAL)] = {
316316
val principal = result._2
317317
maybeCookie match {
318318
case Some(_) =>
@@ -348,13 +348,14 @@ private[session] trait OneOffTapirSession[T] {
348348

349349
def invalidateOneOffSession[
350350
SECURITY_INPUT,
351-
PRINCIPAL
351+
PRINCIPAL,
352+
ERROR_OUTPUT
352353
](st: GetSessionTransport)(
353354
body: => PartialServerEndpointWithSecurityOutput[
354355
SECURITY_INPUT,
355356
PRINCIPAL,
356357
Unit,
357-
Unit,
358+
ERROR_OUTPUT,
358359
_,
359360
Unit,
360361
Any,
@@ -364,7 +365,7 @@ private[session] trait OneOffTapirSession[T] {
364365
(SECURITY_INPUT, Seq[Option[String]]),
365366
PRINCIPAL,
366367
Unit,
367-
Unit,
368+
ERROR_OUTPUT,
368369
Seq[Option[String]],
369370
Unit,
370371
Any,

tapir/src/main/scala/com/softwaremill/session/RefreshableTapirSession.scala

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -463,12 +463,12 @@ private[session] trait RefreshableTapirSession[T] extends Completion {
463463
}
464464
}
465465

466-
private[this] def invalidateRefreshableSessionLogic[PRINCIPAL](
466+
private[this] def invalidateRefreshableSessionLogic[PRINCIPAL, ERROR_OUTPUT](
467467
result: (Seq[Option[String]], PRINCIPAL),
468468
cookie: Option[String],
469469
header: Option[String]
470470
): Either[
471-
Nothing,
471+
ERROR_OUTPUT,
472472
(
473473
Seq[Option[String]],
474474
PRINCIPAL
@@ -497,13 +497,14 @@ private[session] trait RefreshableTapirSession[T] extends Completion {
497497

498498
def invalidateRefreshableSession[
499499
SECURITY_INPUT,
500-
PRINCIPAL
500+
PRINCIPAL,
501+
ERROR_OUTPUT
501502
](st: GetSessionTransport)(
502503
body: => PartialServerEndpointWithSecurityOutput[
503504
SECURITY_INPUT,
504505
PRINCIPAL,
505506
Unit,
506-
Unit,
507+
ERROR_OUTPUT,
507508
_,
508509
Unit,
509510
Any,
@@ -513,7 +514,7 @@ private[session] trait RefreshableTapirSession[T] extends Completion {
513514
(SECURITY_INPUT, Seq[Option[String]]),
514515
PRINCIPAL,
515516
Unit,
516-
Unit,
517+
ERROR_OUTPUT,
517518
Seq[Option[String]],
518519
Unit,
519520
Any,

tapir/src/main/scala/com/softwaremill/session/SessionEndpoints.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,15 +108,15 @@ trait SessionEndpoints {
108108
* Note that you should use `refreshable` if you use refreshable systems even only for some
109109
* users.
110110
*/
111-
def invalidateSession[T, SECURITY_INPUT, PRINCIPAL](
111+
def invalidateSession[T, SECURITY_INPUT, PRINCIPAL, ERROR_OUTPUT](
112112
sc: TapirSessionContinuity[T],
113113
st: GetSessionTransport
114114
)(
115115
body: => PartialServerEndpointWithSecurityOutput[
116116
SECURITY_INPUT,
117117
PRINCIPAL,
118118
Unit,
119-
Unit,
119+
ERROR_OUTPUT,
120120
_,
121121
Unit,
122122
Any,
@@ -126,7 +126,7 @@ trait SessionEndpoints {
126126
(SECURITY_INPUT, Seq[Option[String]]),
127127
PRINCIPAL,
128128
Unit,
129-
Unit,
129+
ERROR_OUTPUT,
130130
Seq[Option[String]],
131131
Unit,
132132
Any,

tapir/src/main/scala/com/softwaremill/session/TapirSessionContinuity.scala

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -100,13 +100,14 @@ sealed trait TapirSessionContinuity[T] {
100100

101101
def invalidateSession[
102102
SECURITY_INPUT,
103-
PRINCIPAL
103+
PRINCIPAL,
104+
ERROR_OUTPUT
104105
](st: GetSessionTransport)(
105106
body: => PartialServerEndpointWithSecurityOutput[
106107
SECURITY_INPUT,
107108
PRINCIPAL,
108109
Unit,
109-
Unit,
110+
ERROR_OUTPUT,
110111
_,
111112
Unit,
112113
Any,
@@ -116,7 +117,7 @@ sealed trait TapirSessionContinuity[T] {
116117
(SECURITY_INPUT, Seq[Option[String]]),
117118
PRINCIPAL,
118119
Unit,
119-
Unit,
120+
ERROR_OUTPUT,
120121
Seq[Option[String]],
121122
Unit,
122123
Any,
@@ -230,12 +231,12 @@ trait OneOffTapirSessionContinuity[T] extends TapirSessionContinuity[T] {
230231
Future] =
231232
oneOffSession(st, required)
232233

233-
override def invalidateSession[SECURITY_INPUT, PRINCIPAL](st: GetSessionTransport)(
234+
override def invalidateSession[SECURITY_INPUT, PRINCIPAL, ERROR_OUTPUT](st: GetSessionTransport)(
234235
body: => PartialServerEndpointWithSecurityOutput[
235236
SECURITY_INPUT,
236237
PRINCIPAL,
237238
Unit,
238-
Unit,
239+
ERROR_OUTPUT,
239240
_,
240241
Unit,
241242
Any,
@@ -245,7 +246,7 @@ trait OneOffTapirSessionContinuity[T] extends TapirSessionContinuity[T] {
245246
(SECURITY_INPUT, Seq[Option[String]]),
246247
PRINCIPAL,
247248
Unit,
248-
Unit,
249+
ERROR_OUTPUT,
249250
Seq[Option[String]],
250251
Unit,
251252
Any,
@@ -315,12 +316,12 @@ trait RefreshableTapirSessionContinuity[T] extends TapirSessionContinuity[T] wit
315316
Any,
316317
Future] = refreshableSession(st, required)
317318

318-
override def invalidateSession[SECURITY_INPUT, PRINCIPAL](st: GetSessionTransport)(
319+
override def invalidateSession[SECURITY_INPUT, PRINCIPAL, ERROR_OUTPUT](st: GetSessionTransport)(
319320
body: => PartialServerEndpointWithSecurityOutput[
320321
SECURITY_INPUT,
321322
PRINCIPAL,
322323
Unit,
323-
Unit,
324+
ERROR_OUTPUT,
324325
_,
325326
Unit,
326327
Any,
@@ -330,7 +331,7 @@ trait RefreshableTapirSessionContinuity[T] extends TapirSessionContinuity[T] wit
330331
(SECURITY_INPUT, Seq[Option[String]]),
331332
PRINCIPAL,
332333
Unit,
333-
Unit,
334+
ERROR_OUTPUT,
334335
Seq[Option[String]],
335336
Unit,
336337
Any,

0 commit comments

Comments
 (0)