package scalaz
package http
package response
import request.Request
object StreamResponse {
def response(l: StatusLine, h: List[(ResponseHeader, NonEmptyList[Char])], b: Stream[Byte]) =
Response.response[Stream](l, h, b)
def response(l: StatusLine, b: Stream[Byte]): Response[Stream] =
Response.emptyHeadersResponse[Stream](l, b)
def response(l: StatusLine, h: List[(ResponseHeader, NonEmptyList[Char])]): Response[Stream] =
Response.emptyResponse[Stream](l, h)
implicit def response(l: StatusLine): Response[Stream] =
Response.emptyHeadersBodyResponse[Stream](l)
def response(v: Version, s: Status, h: List[(ResponseHeader, NonEmptyList[Char])], b: Stream[Byte]): Response[Stream] =
Response.versionStatusResponse[Stream](v, s, h, b)
def response(v: Version, s: Status, b: Stream[Byte]): Response[Stream] =
Response.emptyHeadersVersionStatusResponse[Stream](v, s, b)
def response(v: Version, s: Status, h: List[(ResponseHeader, NonEmptyList[Char])]): Response[Stream] =
Response.emptyVersionStatusResponse[Stream](v, s, h)
def response(v: Version, s: Status): Response[Stream] =
Response.emptyHeadersBodyVersionStatusResponse[Stream](v, s)
def redirect(v: Version, location: NonEmptyList[Char]) = Response.versionRedirect[Stream](v, location)
def redirect(v: Version, location: String) = Response.versionRedirects[Stream](v, location)
def statusLine(status: Status)(implicit req: Request[Stream]) = StatusLine.statusLine[Stream](status)
implicit def response10(s: Status): Response[Stream] =
response(StatusLine.statusLine10(s), Nil)
implicit def response11(s: Status): Response[Stream] =
response(StatusLine.statusLine11(s), Nil)
}