Skip to content

Commit ce13ebb

Browse files
committed
feat(request): add device ID and enhance app ID retrieval
- Add DEVICE_ID constant to Request interface - Implement deviceId property in Request interface - Update appId property to check both header and query parameters - Add tests for new and updated properties Signed-off-by: Ahoo Wang <[email protected]>
1 parent 629896b commit ce13ebb

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed

cosec-api/src/main/kotlin/me/ahoo/cosec/api/context/request/Request.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,16 @@ import me.ahoo.cosec.api.context.Attributes
1818
interface Request : Attributes<Request, String, String> {
1919
companion object {
2020
const val APP_ID = "CoSec-App-Id"
21+
const val DEVICE_ID = "CoSec-Device-Id"
2122
}
2223

2324
val appId: String
2425
get() {
25-
return getHeader(APP_ID)
26+
return getHeader(APP_ID).ifBlank { getQuery(APP_ID) }
27+
}
28+
val deviceId: String
29+
get() {
30+
return getHeader(DEVICE_ID).ifBlank { getQuery(DEVICE_ID) }
2631
}
2732
val path: String
2833
val method: String

cosec-api/src/test/kotlin/me/ahoo/cosec/api/context/RequestTest.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@
1414
package me.ahoo.cosec.api.context
1515

1616
import me.ahoo.cosec.api.context.request.Request
17-
import org.hamcrest.MatcherAssert.assertThat
18-
import org.hamcrest.Matchers.equalTo
17+
import me.ahoo.test.asserts.assert
1918
import org.junit.jupiter.api.Test
2019

2120
class RequestTest {
2221
@Test
2322
fun appIdKey() {
24-
assertThat(Request.APP_ID, equalTo("CoSec-App-Id"))
23+
Request.APP_ID.assert().isEqualTo("CoSec-App-Id")
24+
Request.DEVICE_ID.assert().isEqualTo("CoSec-Device-Id")
2525
}
2626
}

cosec-webflux/src/test/kotlin/me/ahoo/cosec/webflux/ReactiveRequestTest.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ class ReactiveRequestTest {
3838
.isEqualTo(
3939
"ReactiveRequest(path='path', method='method', remoteIp='remoteIp', origin='origin', referer='referer')"
4040
)
41+
request.appId.assert().isEmpty()
42+
request.deviceId.assert().isEmpty()
4143
request.getHeader("key").assert().isEqualTo("value")
4244
request.getHeader("not-exists").assert().isEqualTo("")
4345
request.getQuery("key").assert().isEqualTo("value")

0 commit comments

Comments
 (0)