Advertisement
Guest User

Untitled

a guest
Apr 1st, 2014
37
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.82 KB | None | 0 0
  1. @GET
  2. @Path("/public-certificates")
  3. def listPublicCertificates(@Context req: HttpServletRequest): Response = Privileged(req) {
  4.   "get-public-certificates for " + req.getRemoteAddr
  5. }
  6.  
  7.  
  8. case class Privileged(req: HttpServletRequest) {
  9.   def apply(func: => Object): Response = {
  10.     val ip = InetAddress.getByName(req.getRemoteAddr)
  11.  
  12.     (ip.isLoopbackAddress || ip.isAnyLocalAddress) match {
  13.       case true => func match {
  14.         case res: Response => res
  15.         case obj: Object => Response.status(Response.Status.OK)
  16.           .`type`(MediaType.APPLICATION_JSON_TYPE)
  17.           .entity(Privileged.mapper.writeValueAsString(obj)).build()
  18.       }
  19.       case false => Response.status(Response.Status.FORBIDDEN)
  20.         .`type`(MediaType.APPLICATION_JSON_TYPE)
  21.         .entity(Privileged.unauthorized).build()
  22.     }
  23.   }
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement