diff --git a/src/main/kotlin/net/thauvin/erik/akismet/AkismetComment.kt b/src/main/kotlin/net/thauvin/erik/akismet/AkismetComment.kt index 900b7a9..93d0178 100644 --- a/src/main/kotlin/net/thauvin/erik/akismet/AkismetComment.kt +++ b/src/main/kotlin/net/thauvin/erik/akismet/AkismetComment.kt @@ -185,8 +185,8 @@ open class AkismetComment(val userIp: String, val userAgent: String) { * * @see [serverEnv] */ - constructor(request: HttpServletRequest) : this(request.remoteAddr, request.getNonNullHeader("User-Agent")) { - referrer = request.getNonNullHeader("referer") + constructor(request: HttpServletRequest) : this(request.remoteAddr.ifNull(), request.getHeader("User-Agent").ifNull()) { + referrer = request.getHeader("referer").ifNull() serverEnv = buildServerEnv(request) } @@ -268,17 +268,16 @@ private fun buildServerEnv(request: HttpServletRequest): HashMap while (names.hasMoreElements()) { val name = names.nextElement() if (!name.equals("cookie", true)) { - params["HTTP_${name.toUpperCase().replace('-', '_')}"] = request.getNonNullHeader(name) + params["HTTP_${name.toUpperCase().replace('-', '_')}"] = request.getHeader(name).ifNull() } } return params } -private fun HttpServletRequest.getNonNullHeader(name: String): String { - val header = getHeader(name) - if (header != null) { - return header +private fun String.ifNull(): String { + if (this == null) { + return "" } - return "" + return this }