I hereby claim:
- I am leonmaia on github.
- I am leonmaia (https://keybase.io/leonmaia) on keybase.
- I have a public key ASC6RL-KF9SlrUoZ351_Z2xCZvvt3NSjWpKd-Y8BvFdnwQo
To claim this, I am signing this object:
public final class HandleErrors extends SimpleFilter<Request, Response> { | |
@Override | |
public Future<Response> apply(Request req, Service<Request, Response> service) { | |
return service.apply(req).handle(new ExceptionalFunction<Throwable, Response>() { | |
@Override | |
public Response applyE(Throwable in) { | |
Response resp = Response.apply(); | |
ChannelBuffer content = ChannelBuffers.wrappedBuffer(in.getMessage().getBytes()); | |
if (in instanceof NumberFormatException) { |
public static void main(String[] args) throws Exception { | |
HandleErrors errorsFilter = new HandleErrors(); | |
Service<Request, Response> service = errorsFilter.andThen(router()); | |
ListeningServer server = Http.server().serve(addr, service); | |
Await.ready(server); | |
} |
static Service<Request, Response> echoHandler() { | |
return new Service<Request, Response>() { | |
public Future<Response> apply(Request request) { | |
Cat cat = CatService.find(getId(request)); | |
Response response = Response.apply(request.version(), Status.Ok()); | |
response.setContent(ChannelBuffers.wrappedBuffer(toBytes(cat))); | |
return Future.value(response); | |
} |
import scalaz.{ValidationNel, \/, \/-, Validation} | |
import org.joda.time.LocalDate | |
case class Musician(name: String, born: LocalDate) | |
def validate(musician: Musician): Validation[String, Musician] = { | |
import scalaz.Scalaz._ | |
def validName(name: String): ValidationNel[String, String] = |
var minimum = 21; | |
var checkAge = function(age) { | |
return age >= minimum; | |
}; | |
/////////////////////// | |
var checkAge = function(age) { | |
var minimum = 21; |
trait M[A] { | |
def flatMap[B](f: A => M[B]): M[B] | |
} | |
def unit[A](x: A): M[A] |
I hereby claim:
To claim this, I am signing this object:
Hello
!WA:2!TZzc0Xr59bCpELSG1LGKSTqwyJLnGWIyesRKLLnGf7kTYRm6Y7U(mu2z2DhPzSwTZWmZQR2Mak1puAO5qjnjnnNkhTnnhKTaHBiUjPPnn99xQeyAEHMufsjnTV23ZnHsih0)))(Mzp0HTLbZlVggq7UZmFZ39)F)p((glmyLsER0mCZn0udTv5ivMSYKtVJfIRzKu2iGuIHtAOPRxEGuQtoPKrYAJQPLYsvFEPmwkAg9RBPQL207mdzOLrV7eAPR(Y)6JMvkDc8MdOPM2kEhb7lAWWz5zyhAP0moOhpEgWtJnSBFzmsPVdfllDZ9DJ34ysdP1GQ2n6Fq50sgXoQKHHQMXn2utnBiLGvmTg20sYWYB8bvtRAQ4na(LL3PSmuhAizdZ3uDgo)8bdynHUCaPmgsgzslpQCARWwQJiNCQK4LO8QYMcZUC8qYsPSucKbZP46PKMq2yktD5uP6oPP3zJNzWbJOOnw)PpTj7l)yfzu5fmZeN90rW7RoE2yD4ps0yrI6pC0C3Aadz8wHJmqWE6jCAPrKXSlPmLHrXQMrOG9mqxhUNzYK2Pk7vVcjwMhLFEVAjL9CgSdu2iTuQJGnpSwFOzKsRocRb0k8701PLLmLJyziNEilLYGkcKwlT88UnXyuFGHPmoOK0CkkPujd1hyej10Db7eFaOE46H3mSl87lBXxXyuEz(ddKstk53WqnnBmUQWJKbNa4nULukSzwf0K3ayhwc6hHtKsY0SU4MyAtjBCu)Hd3D)HXBmtgt5ySBgWYiJCaCavMEGz0hvpF(ymiFCMLNgAPyjz2KQyFCcSmNGLgEY9Xlx1jzPz(4oZtlE6vyZeyI9eNp1trVC(0YUmWrd2h6B(OYsd7h7Vm3NZ0TyDOnYiAzuN1qEiSQq9yHzT7z55seSi3oouLpNgqc7)Tepn)(9p4GMYwRpUP8iy)hku1sdToRLwcNoZQfInZoutEANsRw)gJyAmb)Ho2685RXgAPTSdszloSkzj55mfusuLjEKochmyFZ |
!WA:2!T33cGXXvvw6YT1ANoKelzhzzLFTDWYwooYsT(7GIrT(yjB9ZD3YsoJt6Q6UlPQSA1v5QAjlzcHebHXZs2jGwgy4pO5dd7YabrCiajogZomlByM9jTatTldddg2jZmKjSy2fcdmX79EFv1D1TAjlzuIdH0jU)uFE1RQ6Eo3Z9(U1tcdvKK3ImdwDfvvrdfnArXlk(P32fIQzex2iGuSrIBOPRVXajup1PKmI7lSMwIuQ6ZlnwkfnJE1tPQL0070dBOnMENX0sgTo)1vzLnmRuYyW67ttnzQOT0wpHBl4S82SfTeAgh0Jhp95PYkQ1)ygj03UsQu6M7BV79KsdRvHQ2EBEi5KsgrgqYWqvZyVvvv1gsXOJuDbntjzKYBa1KQP8gDi4dtfVtLYqD4HLnmV(YmS)6tei1K6YbKgZqYySKYJlNmvWuQJkhFQ4WIW2QOQcsloAhYsjsPeymOfJQNqAszJPm1LtKOZ4MENjUC0XgAOWqBz0rBD1x793vWKsJkB69cMJfL2)(mKhsDIGH6RTU6k9cdb7K6eZgPLMdfosOWnhm8my7esr7K9M88M0hndNsJlp9yjT7YE1luIwuy(V7wlUSNlcxaLnskL4iWPh0Rp80MYjgIUUotGEdhU3U7QT2dBmoFT)Gaj0KI)1msjLa6e(lo4OJb3T8gL)7Iz3P3GXsizAwwut1KdNq2yGMdgSZEdcRyA9X1ZSztpMPCeAtdKYym5aW1FzC5bGRmXWVyme)oc(9zIRcNTXGd1K02yOLG2yd4yG2f8Du9u0cNpQTrv2gcbnJbhCpr5gjk6BKBa1UbCXMEt)wgqwAKMHBEM7Z2WisqPHLJWnwMXqEyO7G3Ocsh0z4Tui4WUTZZ)EVdnKPCQRnQP8OW1lWIVMkQBMuAXSV4vIqKP3UA8ly36(ArB0r1sAmbF364z8Tg61SdHDNqPaRijpx0v3ep2rd1sW2ARh7dEBXhwoqpAjL9pMA8zNOY6Q54JekHC4XJciLHuh2RnMOZKWbylgtA |