Articles avec #play tag

Publié le 12 Août 2016

En ce moment je développe une application play scala et j'utilise donc sbt pour compiler et lancer mon application.

Le moyen le plus simple que j'ai trouvé pour la debugger et de lancer l'appli avec l'option -jvm-debug:

sbt -jvm-debug 9999 run

Ensuite j'utilise mon IDE (IntelliJ dans mon cas) que je configure pour debugger une application distante sur le port que j'ai spécifier avec l'option -jvm-debug.

Voir les commentaires

Rédigé par Bliz

Publié dans #Scala, #Play

Repost 0

Publié le 8 Septembre 2015

Un des avantages de Playframework est qu'il affiche directement le code problématique dans le navigateur. C'est très pratique lors du développement d'une application mais pas vraiment ce qu'on désire une fois en prod.

Par ailleurs on peut vouloir afficher ses propres pages d'erreurs comme par exemple lors d'une page non trouvée.

En fait il est tout à fait possible de définir les comportements à utiliser en définissant un error handler, dans app/ErrorHandler.scala:

import javax.inject._
import play.api.http.DefaultHttpErrorHandler
import play.api._
import play.api.mvc._
import play.api.mvc.Results._
import play.api.routing.Router
import scala.concurrent._

class ErrorHandler @Inject() (
   env: Environment,
   config: Configuration,
   sourceMapper: OptionalSourceMapper,
   router: Provider[Router]
) extends DefaultHttpErrorHandler(env, config, sourceMapper, router) {

   override def onClientError(request: RequestHeader, statusCode: Int, message: String) = statusCode match {
      // 404 - Page non trouvée - on utilise notre propre page d'erreur
      case 404 => Future.successful(NotFound(views.html.Error.notFound()))
      // sinon on utilise le handler par défaut de Play
      case _ => super.onClientError(request, statusCode, message)
   }
}

Voir les commentaires

Rédigé par Bliz

Publié dans #Scala, #Play

Repost 0