p

zio

http

package http

Linear Supertypes
RouteDecoderModule, RequestSyntax, PathSyntax, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. http
  2. RouteDecoderModule
  3. RequestSyntax
  4. PathSyntax
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Package Members

  1. package api
  2. package html
  3. package internal
  4. package logging
  5. package middleware
  6. package model
  7. package netty
  8. package service
  9. package socket

Type Members

  1. type App[-R] = Http[R, Response, Request, Response]
  2. sealed trait Body extends AnyRef

    Holds Body that needs to be written on the HttpChannel

  3. trait Channel[-A] extends AnyRef

    An immutable and type-safe representation of one or more netty channels.

    An immutable and type-safe representation of one or more netty channels. A represents the type of messages that can be written on the channel.

  4. final case class ChannelEvent[-A, +B](channel: Channel[A], event: Event[B]) extends Product with Serializable

    Immutable and type-safe representation of events that are triggered on a netty channel.

    Immutable and type-safe representation of events that are triggered on a netty channel. A represents the inbound message type and B represents the outbound message type that's allowed on the channel.

  5. final case class ChannelNetty[-A](channel: io.netty.channel.Channel, convert: (A) => Any) extends Channel[A] with Product with Serializable
  6. type Client = ZClient[Any, Body, Throwable, Response]
  7. case class ClientConfig(socketApp: Option[SocketApp[Any]] = None, ssl: Option[ClientSSLConfig] = None, proxy: Option[Proxy] = None, channelType: ChannelType = ChannelType.AUTO, nThreads: Int = 0, useAggregator: Boolean = true, connectionPool: ConnectionPoolConfig = ConnectionPoolConfig.Disabled, maxHeaderSize: Int = 8192, requestDecompression: Decompression = Decompression.No, localAddress: Option[InetSocketAddress] = None) extends http.netty.EventLoopGroups.Config with Product with Serializable
  8. trait ClientDriver extends AnyRef
  9. sealed trait ClientSSLConfig extends AnyRef
  10. trait ConnectionPool[Connection] extends AnyRef
  11. sealed trait ConnectionPoolConfig extends AnyRef
  12. sealed trait CookieDecoder[A] extends AnyRef
  13. sealed trait CookieEncoder[A] extends AnyRef
  14. sealed trait Decompression extends AnyRef
  15. trait Driver extends AnyRef
  16. type EHttpApp = Http[Any, Throwable, Request, Response]
  17. trait Extractor extends AnyRef

    Path is an immutable representation of a urls path.

    Path is an immutable representation of a urls path. Internally it stores each element of a path in a sequence of Segment. This allows for powerful compositional APIs.

  18. sealed trait Handler[-R, +Err, -In, +Out] extends AnyRef
  19. trait HandlerAspect[-R, +Err, +AIn, -AOut, -BIn, +BOut] extends AnyRef
  20. trait HandlerMiddleware[-R, +Err, +AIn, -AOut, -BIn <: AIn, +BOut] extends HandlerAspect[R, Err, AIn, AOut, BIn, BOut] with Middleware[R, Err, AIn, AOut, BIn, BOut]
  21. sealed trait Http[-R, +Err, -In, +Out] extends AnyRef
  22. type HttpApp[-R, +Err] = Http[R, Err, Request, Response]
  23. type HttpAppMiddleware[-R, +Err] = Middleware[R, Err, Request, Response, Request, Response]
  24. case class IntExtractor(int: Int) extends Extractor with Product with Serializable
  25. sealed trait IsMono[-AIn, +AOut, +BIn, -BOut] extends AnyRef

    IsMono is a type-constraint that is used by the middleware api for allowing some operators only when the following condition is met.

    IsMono is a type-constraint that is used by the middleware api for allowing some operators only when the following condition is met.

    Condition: Since a middleware takes in an Http and returns a new Http, IsMono, makes sure that the type parameters of the incoming Http and the ones for the outgoing Http is the same.

    For Eg: IsMono will be defined for a middleware that looks as follows val mid: Middleware[Any, Nothing, Request, Response, Request, Response]

    This is because both the middleware is defined from (Request, Response) => (Request, Response). Consider another example:

    val mid: Middleware[Any, Nothing, Request, Response, UserRequest, UserResponse]

    In this case, the incoming and outgoing types are different viz. (Request, Response) => (UserRequest, UserResponse), hence there is no IsMono defined for such middlewares.

    Annotations
    @implicitNotFound()
  26. trait Middleware[-R, +Err, +AIn, -AOut, -BIn, +BOut] extends AnyRef
  27. sealed trait Patch extends AnyRef

    Models the set of operations that one would want to apply on a Response.

  28. final case class Path extends Product with Serializable
  29. final case class Proxy(url: URL, credentials: Option[Credentials] = None, headers: Headers = Headers.empty) extends Product with Serializable

    Represents the connection to the forward proxy before running the request

  30. final case class QueryParams extends Map[String, Chunk[String]] with Product with Serializable
  31. type RHttpApp[-R] = Http[R, Throwable, Request, Response]
  32. final case class Request(body: Body, headers: Headers, method: Method, url: URL, version: Version, remoteAddress: Option[InetAddress]) extends HeaderExtension[Request] with Product with Serializable
  33. type RequestHandler[-R, +Err] = Handler[R, Err, Request, Response]
  34. type RequestHandlerMiddleware[-R, +Err] = HandlerMiddleware[R, Err, Request, Response, Request, Response]
  35. sealed trait Response extends HeaderExtension[Response]
  36. trait RouteDecoderModule extends AnyRef

    Instead of using just String as path params, using the RouteDecoderModule we can extract and converted params into a specific type also.

    Instead of using just String as path params, using the RouteDecoderModule we can extract and converted params into a specific type also.

    scala Http.collect[Request] { case GET -> !! / "user" / int(id) => Response.text("User id requested: ${id}") case GET -> !! / "user" / name => Response.text("User name requested: ${name}") }

    If the request looks like GET /user/100 then it would match the first case. This is because internally the id param can be decoded into an Int. If a request of the form GET /user/zio is made, in that case the second case is matched.

  37. abstract class RouteDecode[A] extends AnyRef
    Definition Classes
    RouteDecoderModule
  38. final case class SSLConfig(behaviour: HttpBehaviour, data: Data, provider: Provider) extends Product with Serializable
  39. trait Server extends AnyRef
  40. final case class ServerConfig(leakDetectionLevel: LeakDetectionLevel = LeakDetectionLevel.SIMPLE, sslConfig: Option[SSLConfig] = None, address: InetSocketAddress = new InetSocketAddress(8080), acceptContinue: Boolean = false, keepAlive: Boolean = true, consolidateFlush: Boolean = false, flowControl: Boolean = true, requestDecompression: Decompression = Decompression.No, responseCompression: Option[ResponseCompressionConfig] = None, objectAggregator: Int = 1024 * 100, channelType: ChannelType = ChannelType.AUTO, nThreads: Int = 0, maxHeaderSize: Int = 8192) extends http.netty.EventLoopGroups.Config with Product with Serializable
  41. type UHttp[-A, +B] = Http[Any, Nothing, A, B]
  42. type UHttpApp = Http[Any, Nothing, Request, Response]
  43. type UMiddleware[+AIn, -AOut, -BIn, +BOut] = Middleware[Any, Nothing, AIn, AOut, BIn, BOut]
  44. final case class URL(path: Path, kind: Location = URL.Location.Relative, queryParams: QueryParams = QueryParams.empty, fragment: Option[Fragment] = None) extends Product with Serializable
  45. trait ZClient[-Env, -In, +Err, +Out] extends AnyRef
  46. trait ZClientAspect[+LowerEnv, -UpperEnv, +LowerIn, -UpperIn, +LowerErr, -UpperErr, +LowerOut, -UpperOut] extends AnyRef

    A ZClientAspect is capable on modifying some aspect of the execution of a client, such as metrics, tracing, encoding, decoding, or logging.

Value Members

  1. val !!: Path
    Definition Classes
    PathSyntax
  2. def Client: ZClient.type
  3. val ~~: Path
    Definition Classes
    PathSyntax
  4. object ->
    Definition Classes
    RequestSyntax
  5. object /
    Definition Classes
    PathSyntax
  6. object /:
    Definition Classes
    PathSyntax
  7. object Body
  8. object ChannelEvent extends Serializable
  9. object ChannelNetty extends Serializable
  10. object ClientConfig extends Serializable
  11. object ClientDriver
  12. object ClientSSLConfig
  13. object ConnectionPoolConfig
  14. object CookieDecoder
  15. object CookieEncoder
  16. object Decompression
  17. object Handler
  18. object HandlerAspect
  19. object Http
  20. object IsMono extends IsMono[Any, Nothing, Nothing, Any]
  21. object Middleware extends RequestHandlerMiddlewares with HttpRouteMiddlewares
  22. object Patch
  23. object Path extends Serializable
  24. object Proxy extends Serializable
  25. object QueryParams extends Serializable
  26. object Request extends Serializable
  27. object Response
  28. object boolean extends RouteDecode[Boolean]
    Definition Classes
    RouteDecoderModule
  29. object byte extends RouteDecode[Byte]
    Definition Classes
    RouteDecoderModule
  30. object date extends RouteDecode[LocalDate]
    Definition Classes
    RouteDecoderModule
  31. object double extends RouteDecode[Double]
    Definition Classes
    RouteDecoderModule
  32. object float extends RouteDecode[Float]
    Definition Classes
    RouteDecoderModule
  33. object int extends RouteDecode[Int]
    Definition Classes
    RouteDecoderModule
  34. object long extends RouteDecode[Long]
    Definition Classes
    RouteDecoderModule
  35. object short extends RouteDecode[Short]
    Definition Classes
    RouteDecoderModule
  36. object time extends RouteDecode[LocalDateTime]
    Definition Classes
    RouteDecoderModule
  37. object uuid extends RouteDecode[UUID]
    Definition Classes
    RouteDecoderModule
  38. object SSLConfig extends Serializable
  39. object Server
  40. object ServerConfig extends Serializable
  41. object URL extends Serializable
  42. object ZClient

Inherited from RouteDecoderModule

Inherited from RequestSyntax

Inherited from PathSyntax

Inherited from AnyRef

Inherited from Any

Ungrouped