SttpUpickleApiExtension

sttp.openai.json.SttpUpickleApiExtension
object SttpUpickleApiExtension extends SttpUpickleApi

An sttp upickle api extension that deserializes JSON with snake_case keys into case classes with fields corresponding to keys in camelCase and maps errors to OpenAIException subclasses.

Attributes

Graph
Supertypes
trait SttpUpickleApi
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

def asJsonSnake[B : IsOption]: ResponseAs[Either[OpenAIException, B]]
def asStreamSnake[S](s: Streams[S]): StreamResponseAs[Either[OpenAIException, BinaryStream], S]
def asStringEither: ResponseAs[Either[OpenAIException, String]]
def deserializeJsonSnake[B : IsOption]: String => Either[DeserializationOpenAIException, B]

Inherited methods

def asJson[B : IsOption]: ResponseAs[Either[ResponseException[String, Exception], B]]

If the response is successful (2xx), tries to deserialize the body from a string into JSON. Returns:

If the response is successful (2xx), tries to deserialize the body from a string into JSON. Returns:

  • Right(b) if the parsing was successful
  • Left(HttpError(String)) if the response code was other than 2xx (deserialization is not attempted)
  • Left(DeserializationException) if there's an error during deserialization

Attributes

Inherited from:
SttpUpickleApi
def asJsonAlways[B : IsOption]: ResponseAs[Either[DeserializationException[Exception], B]]

Tries to deserialize the body from a string into JSON, regardless of the response code. Returns:

Tries to deserialize the body from a string into JSON, regardless of the response code. Returns:

  • Right(b) if the parsing was successful
  • Left(DeserializationException) if there's an error during deserialization

Attributes

Inherited from:
SttpUpickleApi
def asJsonEither[E : IsOption, B : IsOption]: ResponseAs[Either[ResponseException[E, Exception], B]]

Tries to deserialize the body from a string into JSON, using different deserializers depending on the status code. Returns:

Tries to deserialize the body from a string into JSON, using different deserializers depending on the status code. Returns:

  • Right(B) if the response was 2xx and parsing was successful
  • Left(HttpError(E)) if the response was other than 2xx and parsing was successful
  • Left(DeserializationException) if there's an error during deserialization

Attributes

Inherited from:
SttpUpickleApi
def deserializeJson[B : IsOption]: String => Either[Exception, B]

Attributes

Inherited from:
SttpUpickleApi

Concrete fields

override val upickleApi: SnakePickle.type

Implicits

Inherited implicits

implicit def upickleBodySerializer[B](implicit encoder: Writer[B]): () => B

Attributes

Inherited from:
SttpUpickleApi