Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @GET
- @Path("/public-certificates")
- def listPublicCertificates(@Context req: HttpServletRequest): Response = Privileged(req) {
- "get-public-certificates for " + req.getRemoteAddr
- }
- case class Privileged(req: HttpServletRequest) {
- def apply(func: => Object): Response = {
- val ip = InetAddress.getByName(req.getRemoteAddr)
- (ip.isLoopbackAddress || ip.isAnyLocalAddress) match {
- case true => func match {
- case res: Response => res
- case obj: Object => Response.status(Response.Status.OK)
- .`type`(MediaType.APPLICATION_JSON_TYPE)
- .entity(Privileged.mapper.writeValueAsString(obj)).build()
- }
- case false => Response.status(Response.Status.FORBIDDEN)
- .`type`(MediaType.APPLICATION_JSON_TYPE)
- .entity(Privileged.unauthorized).build()
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement