extensions/resteasy-reactive/rest/runtime/README.md
** NOT IMPLEMENTED
** TODO later list
Object. Same for bean params.** JAXRS SPEC observations
*** Will not implement
ManagedBeanDataSourceSourceStreamingOutputJAXB*** Spec inconsistencies
ResponseBuilder.location(URI) doc says relativise to request, but TCK tests relative to baseResponseBuilder.location(URI) doc says relativise using UriInfo but not available for client APIResponse.readEntity says entity stream should be closed, but TCK checks that the Response is closed insteadResponse.readEntity says entity can be retrieved by call to getEntity() but TCK closes the Response, which forbids calls to getEntity()Response.getEntity does not mention that the response being closed forbids getting an already read entity, but TCK checks thatRequestFilter that calls abortWith(Response), we have to serialise the entity to run the response filter/interceptorsAbstractMultivaluedMap.putAll(MultivaluedMap) will add the parameter's List values without copying, directly to the store, which means that
further calls to addAll() will modify those lists, effectively having both maps share their mutable List storage.MultivaluedMap is missing addAll(MultivaluedMap) to complete putAll"foo"
you will get foo without the quotes, whereas with this fix, if we now send a foo String value as JSON it will be sent raw (assumed pre-serialised)
so this is not regular. We should always serialise string values as JSON string values, and introduce a SerialisedJsonString type to mark pre-serialised
JSON strings. Possibly even just RawString to make sure no serialise will modify them.$-prefixed parameter names,
but it was obsoleted in https://tools.ietf.org/html/rfc2965 and then in https://tools.ietf.org/html/rfc6265, which does not send cookie params to the server
and those params are not $-prefixed anymore.@BeanParam into a type declarationCompletionCallback run: is it after the request is sent, or before? ATM it can be before (that's how we do it
but it leads in tests that get a response before the callbacks are run and a nightmare to test because the next request can be executed
before the callbacks are run).WebApplicationException usage that leaks the Response when on the server*** Spec extensions proposed
ParamConverterProvider and allow @Context on ParamConverter since it has a type param, we could scan those at build time
rather than do runtime-resolving.CompletionStage, so for Uni/Multi), like what RESTEasy has, but a bit different if we can, so
avoid double conversions just to register listeners.Multi (SSE or raw): a method can return a Multi and the content is streamed to the HTTP response, or via SSEsuspend/resume methods to ContainerRequestContextResponse, Optional<Response> or Uni<Response>Response: this allows scanners to know the type of a response and optimise or produce valid openapi.@*Param annotations, make @Context optional for method parameters, same for @PathParam when there's a path param declared
with the same name.*** Not tested by the TCK (and not implemented)