Browse Source

Update Finagle to 6.36 (#2233)

Vladimir Kostyukov 9 years ago
parent
commit
8835986536

+ 4 - 2
frameworks/Scala/finagle/build.sbt

@@ -2,9 +2,11 @@ name := "finagle"
 
 
 scalaVersion := "2.11.8"
 scalaVersion := "2.11.8"
 
 
-version := "1.0.1"
+version := "1.0.2"
+
+com.github.retronym.SbtOneJar.oneJarSettings
 
 
 libraryDependencies ++= Seq(
 libraryDependencies ++= Seq(
-  "com.twitter" %% "finagle-http" % "6.34.0",
+  "com.twitter" %% "finagle-http" % "6.36.0",
   "com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.5.3"
   "com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.5.3"
 )
 )

+ 1 - 0
frameworks/Scala/finagle/project/plugins.sbt

@@ -0,0 +1 @@
+addSbtPlugin("org.scala-sbt.plugins" % "sbt-onejar" % "0.8")

+ 2 - 2
frameworks/Scala/finagle/setup.sh

@@ -2,6 +2,6 @@
 
 
 fw_depends java sbt
 fw_depends java sbt
 
 
-sbt update compile -batch
+sbt 'oneJar' -batch
 
 
-sbt run &
+java -jar target/scala-2.11/*finagle*one-jar.jar &

+ 9 - 8
frameworks/Scala/finagle/src/main/scala/Main.scala

@@ -1,4 +1,3 @@
-import java.text.{DateFormat, SimpleDateFormat}
 import java.util.Date
 import java.util.Date
 
 
 import com.fasterxml.jackson.databind.ObjectMapper
 import com.fasterxml.jackson.databind.ObjectMapper
@@ -13,14 +12,13 @@ import com.twitter.io.Buf
 object Main extends App {
 object Main extends App {
 
 
   val mapper: ObjectMapper = new ObjectMapper().registerModule(DefaultScalaModule)
   val mapper: ObjectMapper = new ObjectMapper().registerModule(DefaultScalaModule)
-  val dateFormat: DateFormat = new SimpleDateFormat("E, dd MMM yyyy HH:mm:ss z")
 
 
   val helloWorld: Buf = Buf.Utf8("Hello, World!")
   val helloWorld: Buf = Buf.Utf8("Hello, World!")
 
 
   val muxer: HttpMuxer = new HttpMuxer()
   val muxer: HttpMuxer = new HttpMuxer()
     .withHandler("/json", Service.mk { req: Request =>
     .withHandler("/json", Service.mk { req: Request =>
       val rep = Response()
       val rep = Response()
-      rep.content = Buf.Utf8(mapper.writeValueAsString(Map("message" -> "Hello, World!")))
+      rep.content = Buf.ByteArray.Owned(mapper.writeValueAsBytes(Map("message" -> "Hello, World!")))
       rep.contentType = "application/json"
       rep.contentType = "application/json"
 
 
       Future.value(rep)
       Future.value(rep)
@@ -34,13 +32,16 @@ object Main extends App {
     })
     })
 
 
   val serverAndDate: SimpleFilter[Request, Response] = new SimpleFilter[Request, Response] {
   val serverAndDate: SimpleFilter[Request, Response] = new SimpleFilter[Request, Response] {
-    def apply(req: Request, s: Service[Request, Response]): Future[Response] =
-      s(req).map { rep =>
-        rep.headerMap.set("Server", "Finagle")
-        rep.headerMap.set("Date", dateFormat.format(new Date()))
+
+    private[this] val addServerAndDate: Response => Response = { rep =>
+        rep.server = "Finagle"
+        rep.date = new Date()
 
 
         rep
         rep
-      }
+    }
+
+    def apply(req: Request, s: Service[Request, Response]): Future[Response] =
+      s(req).map(addServerAndDate)
   }
   }
 
 
   Await.ready(Http.server
   Await.ready(Http.server