Packages

o

spinoco.fs2.http

HttpServer

object HttpServer

Source
HttpServer.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. HttpServer
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type Service[F[_]] = (HttpRequestHeader, Stream[F, Byte]) ⇒ Resource[F, HttpResponse[F]]

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @HotSpotIntrinsicCandidate()
  6. def create[F[_]](bindTo: Option[SocketAddress[Host]] = None, maxHeaderSize: Int = 10 *1024, requestHeaderReceiveTimeout: Duration = 5.seconds, requestCodec: Codec[HttpRequestHeader] = HttpRequestHeaderCodec.defaultCodec, responseCodec: Codec[HttpResponseHeader] = ...)(service: Service[F])(implicit arg0: Async[F], arg1: Network[F]): Stream[F, Stream[F, RequestResult[F]]]

    Creates simple http server,

    Creates simple http server,

    Returns a stream of connection streams. Each inner stream represents a client connection. Users can control parallelism by using parJoin with desired concurrency level.

    bindTo

    Optional socket address (host and port) where to bind server to. If None, binds to all interfaces.

    maxHeaderSize

    Maximum size of http header for incoming requests, in bytes

    requestHeaderReceiveTimeout

    A timeout to await request header to be fully received. Request will fail, if the header won't be read within this timeout.

    requestCodec

    Codec for Http Request Header

    responseCodec

    Codec for Http Response Header

    service

    A function that handles successful requests only. Takes (HttpRequestHeader, Stream[F,Byte]) and returns a Resource containing the HTTP response.

    returns

    A stream of connection streams, each emitting ServerResult. Use .parJoin(maxConcurrency) to control parallelism.

  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. def handleConnection[F[_]](maxHeaderSize: Int, requestHeaderReceiveTimeout: Duration, requestCodec: Codec[HttpRequestHeader], responseCodec: Codec[HttpResponseHeader], service: (HttpRequestHeader, Stream[F, Byte]) ⇒ Resource[F, HttpResponse[F]])(socket: Socket[F])(implicit arg0: Async[F]): Stream[F, RequestResult[F]]

    Handles a single client connection by processing HTTP requests and generating RequestResults.

    Handles a single client connection by processing HTTP requests and generating RequestResults.

    This method processes the complete lifecycle of HTTP requests on a socket connection: - Reads and parses HTTP request headers with timeout - Invokes the service function with parsed request and body stream - Streams the response back to the client - Generates appropriate RequestResult for success, service failure, or response failure cases - Ensures client receives proper HTTP responses even when service fails

    maxHeaderSize

    Maximum size allowed for HTTP request headers

    requestHeaderReceiveTimeout

    Timeout for receiving complete request headers

    requestCodec

    Codec for decoding HTTP request headers

    responseCodec

    Codec for encoding HTTP response headers

    service

    Function to process requests and generate responses

    socket

    The client socket connection

    returns

    Stream of RequestResult capturing the outcome of each request

  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  16. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  20. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped