/* * Copyright (C) 2009-2014 Typesafe Inc. */ package akka.http.server import akka.http.marshallers.xml.ScalaXmlSupport import akka.http.server.directives.AuthenticationDirectives._ import com.typesafe.config.{ ConfigFactory, Config } import akka.actor.ActorSystem import akka.stream.ActorFlowMaterializer import akka.http.Http object TestServer extends App { val testConf: Config = ConfigFactory.parseString(""" akka.loglevel = INFO akka.log-dead-letters = off""") implicit val system = ActorSystem("ServerTest", testConf) import system.dispatcher implicit val materializer = ActorFlowMaterializer() import ScalaXmlSupport._ import Directives._ def auth = HttpBasicAuthenticator.provideUserName { case p @ UserCredentials.Provided(name) ⇒ p.verifySecret(name + "-password") case _ ⇒ false } val binding = Http().bind(interface = "localhost", port = 8080) val materializedMap = binding startHandlingWith { get { path("") { complete(index) } ~ path("secure") { HttpBasicAuthentication("My very secure site")(auth) { user ⇒ complete(Hello { user }. Access has been granted!) } } ~ path("ping") { complete("PONG!") } ~ path("crash") { complete(sys.error("BOOM!")) } } } println(s"Server online at http://localhost:8080/\nPress RETURN to stop...") Console.readLine() binding.unbind(materializedMap).onComplete(_ ⇒ system.shutdown()) lazy val index =

Say hello to akka-http-core!

Defined resources:

}