Class OpenAiRestApi.OpenAiRestApiJacksonProvider

java.lang.Object
org.jboss.resteasy.reactive.common.providers.serialisers.AbstractJsonMessageBodyReader
io.quarkiverse.langchain4j.openai.OpenAiRestApi.OpenAiRestApiJacksonProvider
All Implemented Interfaces:
jakarta.ws.rs.ext.MessageBodyReader<Object>, jakarta.ws.rs.ext.MessageBodyWriter<Object>
Enclosing interface:
OpenAiRestApi

@Provider @ConstrainedTo(CLIENT) @Priority(5100) public static class OpenAiRestApi.OpenAiRestApiJacksonProvider extends org.jboss.resteasy.reactive.common.providers.serialisers.AbstractJsonMessageBodyReader implements jakarta.ws.rs.ext.MessageBodyWriter<Object>
We need a custom version of the Jackson provider because reading SSE values does not work properly with @ClientObjectMapper due to the lack of a complete context in those requests
  • Constructor Details

    • OpenAiRestApiJacksonProvider

      public OpenAiRestApiJacksonProvider()
  • Method Details

    • readFrom

      public Object readFrom(Class<Object> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType, jakarta.ws.rs.core.MultivaluedMap<String,String> httpHeaders, InputStream entityStream) throws IOException, jakarta.ws.rs.WebApplicationException
      Specified by:
      readFrom in interface jakarta.ws.rs.ext.MessageBodyReader<Object>
      Throws:
      IOException
      jakarta.ws.rs.WebApplicationException
    • isWriteable

      public boolean isWriteable(Class<?> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType)
      Specified by:
      isWriteable in interface jakarta.ws.rs.ext.MessageBodyWriter<Object>
    • writeTo

      public void writeTo(Object o, Class<?> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType, jakarta.ws.rs.core.MultivaluedMap<String,Object> httpHeaders, OutputStream entityStream) throws IOException, jakarta.ws.rs.WebApplicationException
      Specified by:
      writeTo in interface jakarta.ws.rs.ext.MessageBodyWriter<Object>
      Throws:
      IOException
      jakarta.ws.rs.WebApplicationException