Skip to content

Releases: icerockdev/web-utils

release/1.0.0: Upgraded ktor version to 2.2.2

24 Jan 10:11
2c4e267

Choose a tag to compare

release/0.10.1: Up ktor version to 1.6.8

12 May 11:49
c4522d6

Choose a tag to compare

Merge pull request #49 from icerockdev/up-ktor-version

Up ktor and logback version

release/0.10.0: Removed jcenter and bintray, updated dependencies

06 May 08:26
87c8a88

Choose a tag to compare

Removed bintray and jcenter, updated dependencies

release/0.9.4: Added KClass support as an argument to receiveRequest

10 Aug 08:57
c3fa6aa

Choose a tag to compare

release/0.9.3: Added KClass support as an argument to receiveRequest

10 Aug 08:30
308cd6e

Choose a tag to compare

fixed receiveRequest function (#45)

release/0.9.2: Added user ID to default logging

05 Aug 07:49
6bf4319

Choose a tag to compare

added user id to default call logging (#42)

release/0.9.1: More NettyEngine configurations

28 Jul 04:34
03f5307

Choose a tag to compare

#39 more netty engine configuration (#40)

* added support more options for NettyEngin configuration

* up version

release/0.9.0: Upgraded logging feature

21 Apr 08:44
c0f45db

Choose a tag to compare

Upgrade ktor to version 1.5.1 or newer.

Added new ApplicationCallLogging feature with correct logging request body.

Now ApplicationCallLogging logging all raw request body (except multipart data, it is not support for now).
Now before send it hides secret fields value in request body, headers and query parameters (default field list: "password", "token", "authorization"). To change field list pass them to the function applyDefaultLogging in install ApplicationCallLogging feature, for example:

    install(ApplicationCallLogging) {
        applyDefaultLogging(secretFieldList = listOf("field1", "field2"))
        // Log only /api requests
        // filter { call -> call.request.path().startsWith("/api") }
    }

Migration guide:

  • Replace io.ktor.features.CallLogging to com.icerockdev.webserver.log.ApplicationCallLogging

Before:

    install(CallLogging) {
        applyDefaultLogging()
        // Log only /api requests
        // filter { call -> call.request.path().startsWith("/api") }
    }

After:

    install(ApplicationCallLogging) {
        applyDefaultLogging()
        // Log only /api requests
        // filter { call -> call.request.path().startsWith("/api") }
    }
  • Remove mapper property in install StatusPages and rename funtion applyStatusConfiguration to applyDefaultStatusConfiguration

Before:

    install(StatusPages) {
        applyStatusConfiguration(
            logger = LoggerFactory.getLogger(Application::class.java),
            mapper = jacksonObjectMapper().apply {
                applyDefaultConfiguration()
                applyPrettyPrintConfiguration()
            }
        )
    }

After:

    install(StatusPages) {
        applyDefaultStatusConfiguration(
            logger = LoggerFactory.getLogger(Application::class.java)
        )
    }
  • Remove requestTypes property for LoggingConfiguration in install JsonDataLogger

Before:

    install(JsonDataLogger) {
        mapperConfiguration = {
            applyDefaultConfiguration()
            applyPrettyPrintConfiguration()
            applyJsonSecretConfiguration()
        }
        loggingConfiguration =
            LoggingConfiguration(
                responseTypes = listOf(AbstractResponse::class, CustomResponse::class),
                requestTypes = listOf(Request::class)
            )
    }

After:

    install(JsonDataLogger) {
        mapperConfiguration = {
            applyDefaultConfiguration()
            applyPrettyPrintConfiguration()
            applyJsonSecretConfiguration()
        }
        loggingConfiguration =
            LoggingConfiguration(
                responseTypes = listOf(AbstractResponse::class, CustomResponse::class)
            )
    }

release/0.8.1: Publish to Maven Central Repository

24 Mar 11:05
4b07284

Choose a tag to compare

Fixed publish to maven central (#35)

release/0.8.0: Upgrade Kotlin, Ktor, Gradle

15 Feb 09:29
5ee55c4

Choose a tag to compare

Kotlin 1.4.30, Ktor 1.5.1, Gradle 6.8.2