ajout CORS
This commit is contained in:
parent
f7abfc4902
commit
d896049932
5 changed files with 68 additions and 20 deletions
35
app/actions/CORSAction.scala
Normal file
35
app/actions/CORSAction.scala
Normal file
|
@ -0,0 +1,35 @@
|
|||
package actions
|
||||
|
||||
import org.apache.pekko.stream.Materializer
|
||||
import play.api.http.HttpErrorHandler
|
||||
import play.api.mvc._
|
||||
import play.filters.cors.{CORSActionBuilder, CORSConfig}
|
||||
|
||||
import javax.inject.Inject
|
||||
import scala.concurrent.{ExecutionContext, Future}
|
||||
|
||||
class CORSAction @Inject()(
|
||||
parser: BodyParsers.Default,
|
||||
corsConfig: CORSConfig,
|
||||
errorHandler: HttpErrorHandler,
|
||||
val controllerComponents: ControllerComponents
|
||||
)(implicit ec: ExecutionContext, mat: Materializer)
|
||||
extends CORSActionBuilder
|
||||
with BaseController {
|
||||
|
||||
override protected def corsConfig: CORSConfig = corsConfig
|
||||
override protected def errorHandler: HttpErrorHandler = errorHandler
|
||||
override protected def mat: Materializer = mat
|
||||
|
||||
override def parser: BodyParser[AnyContent] = parser
|
||||
override def executionContext: ExecutionContext = ec
|
||||
|
||||
override def invokeBlock[A](request: Request[A], block: Request[A] => Future[Result]): Future[Result] = {
|
||||
block(request).map(_.withHeaders(
|
||||
"Access-Control-Allow-Origin" -> "*",
|
||||
"Access-Control-Allow-Methods" -> "GET, POST, OPTIONS",
|
||||
"Access-Control-Allow-Headers" -> "Origin, Content-Type, Accept, Authorization",
|
||||
"Access-Control-Allow-Credentials" -> "true"
|
||||
))
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue