Mikael Ståldal
05/25/2023, 6:31 PMnull
value to be mapped to/from a JSON null
value.dave
05/25/2023, 7:51 PMMikael Ståldal
05/26/2023, 6:34 AMdave
05/26/2023, 6:56 AMMikael Ståldal
05/26/2023, 7:13 AMdave
05/26/2023, 7:15 AMMikael Ståldal
05/26/2023, 7:16 AMdave
05/26/2023, 7:45 AMMikael Ståldal
05/26/2023, 7:49 AMdave
05/26/2023, 9:40 AMAny
and not Any?
.dave
05/26/2023, 9:40 AMMikael Ståldal
05/26/2023, 9:42 AMdave
05/26/2023, 9:43 AMval client = Filter { next ->
{
next(it).let { if (it.header("Content-Length") == "6") Response(NOT_FOUND) else it }
}
}.then(JavaHttpClient())
dave
05/26/2023, 9:43 AMMikael Ståldal
05/26/2023, 9:45 AMdave
05/26/2023, 9:47 AMMikael Ståldal
05/26/2023, 9:49 AMdave
05/26/2023, 10:06 AMdave
05/26/2023, 10:07 AMMikael Ståldal
05/26/2023, 11:29 AMMikael Ståldal
05/26/2023, 12:02 PMval fooBody = Body.auto<Foo>().toLens()
val nullBody = Body.json("null JSON").map(
{
require(it.isJsonNull) { "null JSON expected" }
},
{
com.google.gson.JsonNull.INSTANCE
}
).toLens()
"/foo/{fooId}" bind GET to { request ->
val fooId = fooIdPath(request)
val foo: Foo? = fooDB.getFoo(fooId)
if (foo != null) {
Response(OK).with(fooBody of foo)
} else {
Response(OK).with(nullBody of Unit)
}
},
Mikael Ståldal
05/26/2023, 12:04 PMContentNegotiation
since I have another format than JSON to serve as well (with similar null
semantics).