0

I am getting following compile time error

call(play.mvc.Http.Context) in actions.Headers cannot override call(play.mvc.Http.Context) in play.mvc.Action
[error]   overridden method does not throw java.lang.Exception
[error]        public CompletionStage<Result> call(final Http.Context ctx) throws Throwable {

here is the code :

public CompletionStage<Result> call(final Http.Context ctx) throws Throwable {
           ctx.response().setHeader("Access-Control-Allow-Origin", "*");
           ctx.response().setHeader("Allow", "*");
           ctx.response().setHeader("Access-Control-Allow-Methods", "POST, GET, PUT, DELETE, OPTIONS");
           ctx.response().setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Referer, User-Agent, token");
           ctx.response().setHeader("Access-Control-Expose-Headers", "Origin, X-Requested-With, Content-Type, Accept, Referer, User-Agent, token");

           return (CompletionStage<Result>) delegate.call(ctx);
       }

I am using play framework 2.6

Nicolás Alarcón Rapela
  • 2,714
  • 1
  • 18
  • 29
swaheed
  • 3,671
  • 10
  • 42
  • 103

2 Answers2

2

According to the documentation of playframework 2.6 the method call in class Action doesn't throw Thowable anymore, so your method mustn't do that, too.

Turo
  • 4,724
  • 2
  • 14
  • 27
1

Just remove [throws Throwable] from your method declaration.

mnesarco
  • 2,619
  • 23
  • 31