Skip to content

Instantly share code, notes, and snippets.

@edwelker
Created August 7, 2014 03:53
Show Gist options
  • Save edwelker/ec7c3416b57242167808 to your computer and use it in GitHub Desktop.
Save edwelker/ec7c3416b57242167808 to your computer and use it in GitHub Desktop.
import com.twitter.finagle.{Http, Service}
import com.twitter.util.{Await, Future}
import java.net.InetSocketAddress
import org.jboss.netty.handler.codec.http._
object Client extends App {
val client: Service[HttpRequest, HttpResponse] =
Http.newService("localhost:8080/failures")
val request = new DefaultHttpRequest(
HttpVersion.HTTP_1_1, HttpMethod.GET, "/")
val response: Future[HttpResponse] = client(request)
response onSuccess { resp: HttpResponse =>
println("GET success: " + resp)
}
Await.ready(response)
}
import com.twitter.finagle.{Http, Service}
import com.twitter.util.{Await, Future}
import java.net.InetSocketAddress
import org.jboss.netty.handler.codec.http._
import com.twitter.finagle.builder.{ClientBuilder, ServerBuilder}
object Proxy extends App {
val client: Service[HttpRequest, HttpResponse] =
Http.newService("www.google.com:80")
val server = Http.serve(":8080", client)
Await.ready(server)
}
import com.twitter.finagle.{Http, Service}
import com.twitter.util.{Await, Future}
import java.net.InetSocketAddress
import org.jboss.netty.handler.codec.http._
object Server extends App {
val service = new Service[HttpRequest, HttpResponse] {
def apply(req: HttpRequest): Future[HttpResponse] =
Future.value(new DefaultHttpResponse(
req.getProtocolVersion, HttpResponseStatus.OK))
}
val server = Http.serve(":8080", service)
Await.ready(server)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment