Request

object Request

Request companion

Companion:
class
class Object
trait Matchable
class Any
Request.type

Value members

Concrete methods

def apply(name: String, buffer: ByteBuf): Request

Parses request for specified collection from given buffer.

Parses request for specified collection from given buffer.

Value parameters:
buffer

Bytes to be parsed as BSON body

name

Fully qualified name of collection

def pretty(request: Request): String

Returns a string representation of the given request, for pretty-print it (debug).

Returns a string representation of the given request, for pretty-print it (debug).

Request extractor.

Request extractor.

import reactivemongo.api.bson.BSONInteger
import acolyte.reactivemongo.{
 PreparedResponse, Request, SimpleBody, ValueDocument
}

def resultA: PreparedResponse = ???
def resultB: PreparedResponse = ???
def resultC: PreparedResponse = ???
def resultD: PreparedResponse = ???
def resultE: PreparedResponse = ???

def check(request: Request) = request match {
 case Request("db.col", _) => // Any request on "db.col"
   resultA

 case Request(colName, SimpleBody((k1, v1) :: (k2, v2) :: Nil)) =>
   // Any request with exactly 2 BSON properties
   println(colName + " -> " + (k1, v1).toString + ", " + (k2, v2).toString)
   resultB

 case Request(_, SimpleBody(("age", ValueDocument(
   ("\$gt", BSONInteger(minAge)) :: Nil)) :: _)) =>
   // Request on any collection, with an "age" document as property,
   // itself with exactly one integer "\$gt" property
   // e.g. `{ 'age': { '\$gt', 10 } }`
   println("minAge=" + minAge)
   resultE

 case req =>
   sys.error("req = " + req)
}
Returns:

Collection name -> request body

See also: