1
1
package no.nav.tilleggsstonader.libs.log.filter
2
2
3
3
import jakarta.servlet.FilterChain
4
- import jakarta.servlet.http.Cookie
5
4
import jakarta.servlet.http.HttpFilter
6
5
import jakarta.servlet.http.HttpServletRequest
7
6
import jakarta.servlet.http.HttpServletResponse
@@ -18,14 +17,13 @@ import java.io.EOFException
18
17
/* *
19
18
* @param sporBruker settes hvis vi skal sette cookie som sporer brukeren for å hjelpe ved feilsøing
20
19
*/
21
- class LogFilter ( val sporBruker : Boolean ) : HttpFilter() {
20
+ class LogFilter : HttpFilter () {
22
21
23
22
override fun doFilter (
24
23
request : HttpServletRequest ,
25
24
response : HttpServletResponse ,
26
25
filterChain : FilterChain ,
27
26
) {
28
- sporBruker(request, response)
29
27
val consumerId = request.getHeader(NavHttpHeaders .NAV_CONSUMER_ID .asString())
30
28
val callId = resolveCallId(request)
31
29
MDC .put(MDC_CALL_ID , callId)
@@ -43,24 +41,6 @@ class LogFilter(val sporBruker: Boolean) : HttpFilter() {
43
41
}
44
42
}
45
43
46
- private fun sporBruker (
47
- request : HttpServletRequest ,
48
- response : HttpServletResponse ,
49
- ) {
50
- if (! sporBruker) {
51
- return
52
- }
53
- var userId = resolveUserId(request)
54
- if (userId.isNullOrEmpty()) {
55
- // user-id tracking only works if the client is stateful and supports cookies.
56
- // if no user-id is found, generate one for any following requests but do not use it on the
57
- // current request to avoid generating large numbers of useless user-ids.
58
- userId = IdUtils .generateId()
59
- generateUserIdCookie(response, userId)
60
- }
61
- MDC .put(MDC_USER_ID , userId)
62
- }
63
-
64
44
private fun filterWithErrorHandling (
65
45
request : HttpServletRequest ,
66
46
response : HttpServletResponse ,
@@ -96,20 +76,6 @@ class LogFilter(val sporBruker: Boolean) : HttpFilter() {
96
76
? : IdUtils .generateId()
97
77
}
98
78
99
- private fun generateUserIdCookie (response : HttpServletResponse , userId : String ) {
100
- val cookie = Cookie (RANDOM_USER_ID_COOKIE_NAME , userId).apply {
101
- path = " /"
102
- maxAge = ONE_MONTH_IN_SECONDS
103
- isHttpOnly = true
104
- secure = true
105
- }
106
- response.addCookie(cookie)
107
- }
108
-
109
- private fun resolveUserId (request : HttpServletRequest ): String? {
110
- return request.cookies?.firstOrNull { it -> RANDOM_USER_ID_COOKIE_NAME == it.name }?.value
111
- }
112
-
113
79
companion object {
114
80
// there is no consensus in NAV about header-names for correlation ids, so we support 'em all!
115
81
// https://nav-it.slack.com/archives/C9UQ16AH4/p1538488785000100
@@ -127,7 +93,5 @@ class LogFilter(val sporBruker: Boolean) : HttpFilter() {
127
93
" X-Request-Id" ,
128
94
)
129
95
private val LOG = LoggerFactory .getLogger(LogFilter ::class .java)
130
- private const val RANDOM_USER_ID_COOKIE_NAME = " RUIDC"
131
- private const val ONE_MONTH_IN_SECONDS = 60 * 60 * 24 * 30
132
96
}
133
97
}
0 commit comments