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

org.http4k.format.SQSBatchResponseAdapter.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.SQSBatchResponse
import com.amazonaws.services.lambda.runtime.events.SQSBatchResponse.BatchItemFailure
import com.squareup.moshi.JsonAdapter
import com.squareup.moshi.JsonReader
import com.squareup.moshi.JsonWriter

object SQSBatchResponseAdapter : JsonAdapter() {
    override fun fromJson(reader: JsonReader): SQSBatchResponse =
        with(reader) {
            obj(::SQSBatchResponse) {
                when (it) {
                    "batchItemFailures" -> batchItemFailures = list(::BatchItemFailure) {
                        when (it) {
                            "itemIdentifier" -> itemIdentifier = nextString()
                        }
                    }
                }
            }
        }

    override fun toJson(writer: JsonWriter, response: SQSBatchResponse?) {
        with(writer) {
            obj(response) {
                list("batchItemFailures", batchItemFailures) {
                    obj(this) {
                        string("itemIdentifier", itemIdentifier)
                    }
                }
            }
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy