HttpClientIR

wvlet.airframe.http.codegen.HttpClientIR$
object HttpClientIR extends LogSupport

Generate an intermediate representation (IR) of Scala HTTP client code from a given airframe-http interface definition (Router).

This IR abstracts away the differences between Scala (Sync/Async clients) and Scala.js (Async + AJAX).

Attributes

Graph
Supertypes
trait LogSupport
trait LazyLogger
trait LoggingMethods
trait Serializable
class Object
trait Matchable
class Any
Self type

Members list

Concise view

Type members

Classlikes

case class ClientClassDef(clsName: String, services: Seq[ClientServiceDef]) extends ClientCodeIR

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
sealed trait ClientCodeIR

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
case class ClientMethodDef(httpMethod: String, isOpsRequest: Boolean, name: String, typeArgs: Seq[Surface], inputParameters: Seq[MethodParameter], clientCallParameters: Seq[String], returnType: Surface, path: String, requestModelClassDef: Option[ClientRequestModelClassDef], isRPC: Boolean) extends ClientCodeIR

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
case class ClientRequestModelClassDef(name: String, parameter: Seq[Parameter])

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
case class ClientServiceDef(basePackageName: String, fullPackageName: String, serviceName: String, interfaceClass: Class[_], methods: Seq[ClientMethodDef]) extends ClientCodeIR

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
case class ClientServicePackages(packageLeafName: String, services: Seq[ClientServiceDef], children: Seq[ClientServicePackages])

Represents hierarchical API structures

Represents hierarchical API structures

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
case class ClientSourceDef(destPackageName: String, classDef: ClientClassDef) extends ClientCodeIR

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
trait
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
sealed trait GrpcMethodType

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object BIDI_STREAMING.type
object CLIENT_STREAMING.type
object SERVER_STREAMING.type
object UNARY.type

Value members

Concrete methods

def buildIR(rxRouter: RxRouter, config: HttpClientGeneratorConfig): ClientSourceDef
def buildIR(router: Router, config: HttpClientGeneratorConfig): ClientSourceDef

Building an intermediate representation of the client code

Building an intermediate representation of the client code

Attributes

Inherited methods

inline protected def debug(inline message: Any, inline cause: Throwable): Unit

Attributes

Inherited from:
LoggingMethods
inline protected def debug(inline message: Any): Unit

Attributes

Inherited from:
LoggingMethods
inline protected def error(inline message: Any, inline cause: Throwable): Unit

Attributes

Inherited from:
LoggingMethods
inline protected def error(inline message: Any): Unit

Attributes

Inherited from:
LoggingMethods
inline protected def info(inline message: Any, inline cause: Throwable): Unit

Attributes

Inherited from:
LoggingMethods
inline protected def info(inline message: Any): Unit

Attributes

Inherited from:
LoggingMethods
inline protected def logAt(inline logLevel: LogLevel, inline message: Any): Unit

Attributes

Inherited from:
LoggingMethods
inline protected def trace(inline message: Any, inline cause: Throwable): Unit

Attributes

Inherited from:
LoggingMethods
inline protected def trace(inline message: Any): Unit

Attributes

Inherited from:
LoggingMethods
inline protected def warn(inline message: Any, inline cause: Throwable): Unit

Attributes

Inherited from:
LoggingMethods
inline protected def warn(inline message: Any): Unit

Attributes

Inherited from:
LoggingMethods