Skip to content

Instantly share code, notes, and snippets.

@denen99
Created June 6, 2013 23:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save denen99/5725896 to your computer and use it in GitHub Desktop.
Save denen99/5725896 to your computer and use it in GitHub Desktop.
import org.eclipse.jetty.server.Server
import org.eclipse.jetty.servlet.{ServletHolder, ServletContextHandler}
import javax.servlet.http.{HttpServletResponse, HttpServletRequest, HttpServlet}
/**
* @author ross
*/
object ServletExample extends App {
import concurrent.ExecutionContext.Implicits.global
val rawServlet = new HttpServlet {
override def service(req: HttpServletRequest, resp: HttpServletResponse) {
if (req.getPathInfo == "/ping")
resp.getWriter.write("pong")
else if (req.getPathInfo == "/echo") {
val bytes = new Array[Byte](8 * 1024);
var in = 0
while ({in = req.getInputStream.read(bytes); in >= 0}) {
resp.getOutputStream.write(bytes, 0, in)
resp.flushBuffer()
}
}
else if (req.getPathInfo == "/bigstring") {
val builder = new StringBuilder(20*1000)
(0 until 1000) foreach { i => builder.append(s"This is string number $i") }
resp.getOutputStream.write(builder.result().getBytes)
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment