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
Show all
Self type

Members list

Type members

Classlikes

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

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ClientCodeIR
class Object
trait Matchable
class Any
Show all
sealed trait ClientCodeIR

Attributes

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

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

Attributes

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

Attributes

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

Represents hierarchical API structures

Represents hierarchical API structures

Attributes

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

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait ClientCodeIR
class Object
trait Matchable
class Any
Show all

Attributes

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

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes

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