当前位置: 首页>>代码示例>>Scala>>正文


Scala HttpVerbs类代码示例

本文整理汇总了Scala中play.api.http.HttpVerbs的典型用法代码示例。如果您正苦于以下问题:Scala HttpVerbs类的具体用法?Scala HttpVerbs怎么用?Scala HttpVerbs使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了HttpVerbs类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Scala代码示例。

示例1: CommentsAction

//设置package包名称以及导入依赖的类
package v1.news

import javax.inject.Inject

import play.api.http.HttpVerbs
import play.api.i18n.{Messages, MessagesApi}
import play.api.mvc._
import play.api.http.HeaderNames

import scala.concurrent.{ExecutionContext, Future}


class CommentsAction @Inject()(messagesApi: MessagesApi)(
    implicit ec: ExecutionContext)
    extends ActionBuilder[CommentsRequest]
    with HttpVerbs {

  type CommentsRequestBlock[A] = CommentsRequest[A] => Future[Result]

  private val logger = org.slf4j.LoggerFactory.getLogger(this.getClass)

  override def invokeBlock[A](request: Request[A],
                              block: CommentsRequestBlock[A]): Future[Result] = {
    if (logger.isTraceEnabled()) {
      logger.trace(s"invokeBlock: request = $request")
    }

    val messages = messagesApi.preferred(request)
    val future = block(new CommentsRequest(request, messages))

    future.map { result =>
      request.method match {
        case GET | HEAD =>
          result.withHeaders("Cache-Control" -> s"max-age: 100")
        case other =>
          result
      }
    }
  }
} 
开发者ID:kapit4n,项目名称:play-news-api,代码行数:41,代码来源:NewsAction.scala

示例2: PostAction

//设置package包名称以及导入依赖的类
package v1.post

import javax.inject.Inject

import play.api.http.HttpVerbs
import play.api.i18n.{Messages, MessagesApi}
import play.api.mvc._

import scala.concurrent.{ExecutionContext, Future}


class PostAction @Inject()(messagesApi: MessagesApi)(
    implicit ec: ExecutionContext)
    extends ActionBuilder[PostRequest]
    with HttpVerbs {

  type PostRequestBlock[A] = PostRequest[A] => Future[Result]

  private val logger = org.slf4j.LoggerFactory.getLogger(this.getClass)

  override def invokeBlock[A](request: Request[A],
                              block: PostRequestBlock[A]): Future[Result] = {
    if (logger.isTraceEnabled()) {
      logger.trace(s"invokeBlock: request = $request")
    }

    val messages = messagesApi.preferred(request)
    val future = block(new PostRequest(request, messages))

    future.map { result =>
      request.method match {
        case GET | HEAD =>
          result.withHeaders("Cache-Control" -> s"max-age: 100")
        case other =>
          result
      }
    }
  }
} 
开发者ID:kapit4n,项目名称:play-news-api,代码行数:40,代码来源:PostAction.scala

示例3: PlaySpecApplication

//设置package包名称以及导入依赖的类
package common

import org.scalatestplus.play.PlaySpec
import play.api.http.{ HeaderNames, HttpProtocol, HttpVerbs, Status }
import play.api.test._

class PlaySpecApplication extends PlaySpec
    with PlayRunners
    with HeaderNames
    with Status
    with HttpProtocol
    with DefaultAwaitTimeout
    with ResultExtractors
    with Writeables
    with RouteInvokers
    with FutureAwaits
    with HttpVerbs 
开发者ID:cm-wada-yusuke,项目名称:ecn-news,代码行数:18,代码来源:PlaySpecApplication.scala

示例4: Setting

//设置package包名称以及导入依赖的类
package httpmock

import play.api.http.HttpVerbs
import play.api.mvc._
import play.api.routing.Router.Routes

import HttpMock.implementedMethods

final case class Setting(
  port: Int = 0,
  methods: Set[HttpMethod] = implementedMethods,
  handler: PartialFunction[RequestHeader, Result] = PartialFunction.empty
) {

  val logs = new AccessLogQueue()

  private[this] def routeFor(method: HttpMethod): Routes = {
    import play.api.routing.sird
    import play.api.routing.sird.UrlContext

    def action(r: RequestHeader) = Action { request =>
      if (r.method == HttpVerbs.POST || r.method == HttpVerbs.PUT) {
        request.body match {
          case AnyContentAsRaw(raw) => logs.add(r, raw.asBytes().map(ArrayByte))
          case _ => logs.add(r)
        }
      } else {
        logs.add(r)
      }
      handler.applyOrElse[RequestHeader, Result](r, r => Results.Ok(r.toString))
    }

    // TODO: add query parameters and request body to logs
    method match {
      case GET => { case r @ sird.GET(p"/$path*") => action(r) }
      case POST => { case r @ sird.POST(p"/$path*") => action(r) }
      case PUT => { case r @ sird.PUT(p"/$path*") => action(r) }
      case PATCH => { case r @ sird.PATCH(p"/$path*") => action(r) }
      case DELETE => { case r @ sird.DELETE(p"/$path*") => action(r) }
      case HEAD => { case r @ sird.HEAD(p"/$path*") => action(r) }
      case OPTIONS => { case r @ sird.OPTIONS(p"/$path*") => action(r) }
    }
  }

  def routes: Routes = methods.map(routeFor).foldLeft(PartialFunction.empty: Routes) { _ orElse _ }

}

object Setting {
  implicit def toHttpMockDown(setting: Setting): HttpMockDown = HttpMockDown(setting, setting.port)
} 
开发者ID:xuwei-k,项目名称:httpmock,代码行数:52,代码来源:Setting.scala

示例5: UserRequest

//设置package包名称以及导入依赖的类
package v1.user

import javax.inject.Inject

import play.api.http.HttpVerbs
import play.api.i18n.{Messages, MessagesApi}
import play.api.mvc._

import scala.concurrent.{ExecutionContext, Future}

class UserRequest[A](request: Request[A], val messages: Messages)
  extends WrappedRequest(request)

class UserAction @Inject() (messagesApi: MessagesApi)
  (
    implicit ec: ExecutionContext
  ) extends ActionBuilder[UserRequest]
  with HttpVerbs {
  
  type UserRequestBlock[A] = UserRequest[A] => Future[Result]

  private val logger = org.slf4j.LoggerFactory.getLogger(this.getClass)

  override def invokeBlock[A](request: Request[A],
                              block: UserRequestBlock[A]): Future[Result] = {
    if (logger.isTraceEnabled()) {
      logger.trace(s"invokeBlock: request = $request")
    }

    val messages = messagesApi.preferred(request)
    val future = block(new UserRequest(request, messages))

    future.map { result =>
      request.method match {
        case GET | HEAD =>
          result.withHeaders("Cache-Control" -> s"max-age: 100")
        case other =>
          result
      }
    }
  }
} 
开发者ID:heinrich10,项目名称:scala-mvc-sample,代码行数:43,代码来源:UserAction.scala

示例6: SignatureAction

//设置package包名称以及导入依赖的类
package v1.signature

import javax.inject.Inject

import play.api.http.HttpVerbs
import play.api.i18n.{Messages, MessagesApi}
import play.api.mvc._

import scala.concurrent.{ExecutionContext, Future}


class SignatureAction @Inject()(messagesApi: MessagesApi)(
    implicit ec: ExecutionContext)
    extends ActionBuilder[SignatureRequest]
    with HttpVerbs {

  type PostRequestBlock[A] = SignatureRequest[A] => Future[Result]

  private val logger = org.slf4j.LoggerFactory.getLogger(this.getClass)

  override def invokeBlock[A](request: Request[A],
                              block: PostRequestBlock[A]): Future[Result] = {
    if (logger.isTraceEnabled()) {
      logger.trace(s"invokeBlock: request = $request")
    }

    val messages = messagesApi.preferred(request)
    val future = block(new SignatureRequest(request, messages))

    future.map { result =>
      request.method match {
        case GET | HEAD =>
          result.withHeaders("Cache-Control" -> s"max-age: 100")
        case other =>
          result
      }
    }
  }
} 
开发者ID:540,项目名称:etherlinks-backend,代码行数:40,代码来源:SignatureAction.scala

示例7: TodoRequest

//设置package包名称以及导入依赖的类
package todo

import javax.inject.{Inject, Singleton}

import play.api.http.HttpVerbs
import play.api.mvc.{ActionBuilder, Request, Result, WrappedRequest}

import scala.concurrent.{ExecutionContext, Future}


class TodoRequest[A](request: Request[A])
  extends WrappedRequest(request)

@Singleton
class TodoAction @Inject()(implicit ec: ExecutionContext)
  extends ActionBuilder[TodoRequest]
    with HttpVerbs {

  override def invokeBlock[A](request: Request[A], block: (TodoRequest[A]) => Future[Result]) = {
    val future = block(new TodoRequest(request))

    future.map(result => {
      request.method match {
        case GET | HEAD =>
          result.withHeaders("Cache-Control" -> s"max-age: 1000")

        case other =>
          result
      }
    })
  }
} 
开发者ID:jeroenbellen,项目名称:todo-app,代码行数:33,代码来源:TodoAction.scala

示例8: PostAction

//设置package包名称以及导入依赖的类
package v1.post

import javax.inject.Inject

import play.api.http.HttpVerbs
import play.api.i18n.{Messages, MessagesApi}
import play.api.mvc._

import scala.concurrent.{ExecutionContext, Future}


class PostAction @Inject()(messagesApi: MessagesApi)
                          (implicit ec: ExecutionContext)
  extends ActionBuilder[PostRequest] with HttpVerbs {

  type PostRequestBlock[A] = PostRequest[A] => Future[Result]

  private val logger = org.slf4j.LoggerFactory.getLogger(this.getClass)

  override def invokeBlock[A](request: Request[A], block: PostRequestBlock[A]): Future[Result] = {
    if (logger.isTraceEnabled()) {
      logger.trace(s"invokeBlock: request = $request")
    }

    val messages = messagesApi.preferred(request)
    val future = block(new PostRequest(request, messages))

    future.map { result =>
      request.method match {
        case GET | HEAD =>
          result.withHeaders("Cache-Control" -> s"max-age: 100")
        case other =>
          result
      }
    }
  }
} 
开发者ID:TrungSpy,项目名称:scala-api-lib,代码行数:38,代码来源:PostAction.scala

示例9: BobRequest

//设置package包名称以及导入依赖的类
package v1.bob

import javax.inject.Inject

import play.api.http.HttpVerbs
import play.api.i18n.{Messages, MessagesApi}
import play.api.mvc._

import scala.concurrent.{ExecutionContext, Future}

class BobRequest[A](request: Request[A], val messages: Messages) extends WrappedRequest(request)

class BobAction @Inject()(messagesApi: MessagesApi)
                         (implicit ec: ExecutionContext)
  extends ActionBuilder[BobRequest] with HttpVerbs {
  type SlackRequestBlock[A] = BobRequest[A] => Future[Result]

  private val logger = org.slf4j.LoggerFactory.getLogger(this.getClass)

  override def invokeBlock[A](request: Request[A], block: SlackRequestBlock[A]): Future[Result] = {
    if (logger.isTraceEnabled()) {
      logger.trace(s"invokeBlock: request = $request")
    }

    val messages = messagesApi.preferred(request)
    val future = block(new BobRequest(request, messages))

    future.map { result =>
      request.method match {
        case GET | HEAD =>
          result.withHeaders("Cache-Control" -> s"max-age: 100")
        case other =>
          result
      }
    }
  }
} 
开发者ID:ridi-data,项目名称:Bob,代码行数:38,代码来源:BobAction.scala


注:本文中的play.api.http.HttpVerbs类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。