Skip to content

Instantly share code, notes, and snippets.

@yuikns
Created December 7, 2017 15:54
Show Gist options
  • Save yuikns/2d752fe0fd6ce18017a0896a40aea628 to your computer and use it in GitHub Desktop.
Save yuikns/2d752fe0fd6ce18017a0896a40aea628 to your computer and use it in GitHub Desktop.
class IPFilter()(override implicit val mat: Materializer) extends Filter {
def apply(f: (RequestHeader) => Future[Result])(request: RequestHeader): Future[Result] = {
if (request.remoteAddress == "127.0.0.1") {
Logger.info(s"from: ${request.remoteAddress}, pass")
f(request).map(identity)
} else {
Logger.info(s"from: ${request.remoteAddress}, rejected")
Future.successful(Default.BadRequest.withHeaders(
"Access-Control-Allow-Origin" -> "NOT YOU"
))
}
}
}
object IPFilter {
def apply()(implicit mat: Materializer) = new IPFilter()
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment