All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.http4k.format.CloudWatchLogsEventAdapter.kt Maven / Gradle / Ivy

There is a newer version: 5.45.1.0
Show newest version
package org.http4k.format

import com.amazonaws.services.lambda.runtime.events.CloudWatchLogsEvent
import com.amazonaws.services.lambda.runtime.events.CloudWatchLogsEvent.AWSLogs
import com.squareup.moshi.FromJson
import com.squareup.moshi.JsonAdapter
import com.squareup.moshi.JsonReader
import com.squareup.moshi.JsonWriter
import com.squareup.moshi.ToJson

object CloudWatchLogsEventAdapter : JsonAdapter() {
    @FromJson
    override fun fromJson(reader: JsonReader) =
        with(reader) {
            obj(::CloudWatchLogsEvent) {
                when (it) {
                    "awslogs" -> awsLogs = obj(::AWSLogs) {
                        when (it) {
                            "data" -> data = nextString()
                            else -> skipValue()
                        }
                    }
                }
            }
        }

    @ToJson
    override fun toJson(writer: JsonWriter, event: CloudWatchLogsEvent?) {
        with(writer) {
            obj(event) {
                obj("awslogs", awsLogs) {
                    string("data", data)
                }
            }
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy