object Server
Build and start HTTP servers.
Server.listen(8888) { request => Ok("Hello world!") }
Starting an HTTP server require a service function. The service
function will be run on the provided scala.concurrent.ExecutionContext
.
This function should be non-blocking, but you can also decide to go with a blocking service
if you provide an appropriate ExecutionContext (just note that if the ExecutionContext is fully
blocked, the HTTP server is fully blocked).
The service function will be called by the server as soon as new HTTP request header has been received. The server also set up a lazy stream for the body. User code can pull from this stream and consume it if needed. Otherwise it will be drained after exchange completion (ie. when the response has been fully sent).
The response value returned by the service function will be transfered back to the client.
- Source
- Server.scala
- Alphabetic
- By Inheritance
- Server
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
- val defaultErrorHandler: (Throwable) ⇒ Response
- val defaultErrorResponse: Response
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
listen(port: Int = 0, address: String = "0.0.0.0", ssl: Option[ServerConfiguration] = None, protocol: String = HTTP, onError: (Throwable) ⇒ Response = defaultErrorHandler)(service: Service)(implicit executor: ExecutionContext): Server
Start a new HTTP server.
Start a new HTTP server.
- port
the TCP port used. If set to 0, it starts on any available port. This is the default.
- address
the ip address this server listen at. 0.0.0.0 means listening on all available address. This is the default.
- ssl
if provided, the SSL configuration to use. In this case the server will listen for HTTPS requests.
- executor
the
scala.concurrent.ExecutionContext
to use to run user code.- returns
a server instance that you can stop later.
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )