Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
package io.moia.router.proto

import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent
import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent
import com.google.common.net.MediaType
import io.moia.router.JsonDeserializationHandler
import io.moia.router.JsonSerializationHandler
import io.moia.router.RequestHandler
import io.moia.router.ResponseEntity

abstract class ProtoEnabledRequestHandler : RequestHandler() {

Expand All @@ -11,4 +15,12 @@ abstract class ProtoEnabledRequestHandler : RequestHandler() {

override fun deserializationHandlers() =
listOf(ProtoDeserializationHandler(), JsonDeserializationHandler(objectMapper))

override fun <T> createResponse(
contentType: MediaType?,
input: APIGatewayProxyRequestEvent,
response: ResponseEntity<T>
): APIGatewayProxyResponseEvent {
return super.createResponse(contentType, input, response).withIsBase64Encoded(true)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package io.moia.router.proto

import assertk.assert
import assertk.assertions.isEqualTo
import assertk.assertions.isTrue
import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent
import io.moia.router.Request
import io.moia.router.ResponseEntity
Expand Down Expand Up @@ -66,6 +67,7 @@ class RequestHandlerTest {

assert(response.statusCode).isEqualTo(200)
assert(Sample.parseFrom(response.bodyAsBytes())).isEqualTo(request)
assert(response.isBase64Encoded).isTrue()
}

@Test
Expand All @@ -83,7 +85,7 @@ class RequestHandlerTest {
}

@Test
fun `should return api error in prots`() {
fun `should return api error in protos`() {

val response = testRequestHandler.handleRequest(
GET("/some-error")
Expand Down