Skip to content

Commit ac1245c

Browse files
committed
refactor: use netty http headers
1 parent 14bf1cf commit ac1245c

File tree

5 files changed

+11
-6
lines changed

5 files changed

+11
-6
lines changed

src/main/kotlin/net/ccbluex/netty/http/HttpServerHandler.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ internal class HttpServerHandler(private val server: HttpServer) : ChannelInboun
9797
val requestContext = RequestContext(
9898
msg.method(),
9999
URLDecoder.decode(msg.uri(), Charsets.UTF_8),
100-
msg.headers().associate { it.key to it.value },
100+
msg.headers(),
101101
)
102102

103103
localRequestContext.set(requestContext)

src/main/kotlin/net/ccbluex/netty/http/middleware/CorsMiddleware.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package net.ccbluex.netty.http.middleware
22

33
import io.netty.handler.codec.http.FullHttpResponse
44
import io.netty.handler.codec.http.HttpHeaderNames
5+
import io.netty.handler.codec.http.HttpHeaders
56
import net.ccbluex.netty.http.HttpServer.Companion.logger
67
import net.ccbluex.netty.http.model.RequestContext
78
import java.net.URI
@@ -32,7 +33,7 @@ class CorsMiddleware(
3233
*/
3334
override fun invoke(context: RequestContext, response: FullHttpResponse): FullHttpResponse {
3435
val httpHeaders = response.headers()
35-
val requestOrigin = context.headers["origin"] ?: context.headers["Origin"]
36+
val requestOrigin = context.headers[HttpHeaderNames.ORIGIN]
3637

3738
if (requestOrigin != null) {
3839
try {

src/main/kotlin/net/ccbluex/netty/http/model/RequestContext.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@
1919
*/
2020
package net.ccbluex.netty.http.model
2121

22+
import io.netty.handler.codec.http.HttpHeaders
2223
import io.netty.handler.codec.http.HttpMethod
2324

24-
data class RequestContext(var httpMethod: HttpMethod, var uri: String, var headers: Map<String, String>) {
25+
data class RequestContext(var httpMethod: HttpMethod, var uri: String, var headers: HttpHeaders) {
2526
val contentBuffer = StringBuilder()
2627
val path = uri.substringBefore('?', uri)
2728
val params = getUriParams(uri)
@@ -43,7 +44,7 @@ private fun getUriParams(uri: String): Map<String, String> {
4344
val index = param.indexOf('=')
4445
if (index == -1) null
4546
else {
46-
val key = param.substring(0, index)
47+
val key = param.take(index)
4748
val value = param.substring(index + 1)
4849
if (key.isNotEmpty()) key to value else null
4950
}

src/main/kotlin/net/ccbluex/netty/http/model/RequestObject.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
*/
2020
package net.ccbluex.netty.http.model
2121

22+
import io.netty.handler.codec.http.HttpHeaders
2223
import io.netty.handler.codec.http.HttpMethod
2324
import net.ccbluex.netty.http.util.DEFAULT_GSON
2425

@@ -42,7 +43,7 @@ data class RequestObject(
4243
val body: String,
4344
val params: Map<String, String>,
4445
val queryParams: Map<String, String>,
45-
val headers: Map<String, String>
46+
val headers: HttpHeaders
4647
) {
4748

4849
/**

src/test/kotlin/ZipServantTest.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
*
1919
*/
2020

21+
import io.netty.handler.codec.http.EmptyHttpHeaders
22+
import io.netty.handler.codec.http.HttpHeaders
2123
import io.netty.handler.codec.http.HttpMethod
2224
import io.netty.handler.codec.http.HttpResponseStatus
2325
import net.ccbluex.netty.http.model.RequestObject
@@ -102,7 +104,7 @@ class ZipServantTest {
102104
body = "",
103105
params = emptyMap(),
104106
queryParams = emptyMap(),
105-
headers = emptyMap()
107+
headers = EmptyHttpHeaders.INSTANCE
106108
)
107109
}
108110

0 commit comments

Comments
 (0)