UNPKG

1.03 kBJavaScriptView Raw
1/* @flow */
2'use strict'
3
4const createInternal = require('./utils/internal.js').createInternal
5
6/* ::
7import type {Headers} from '../types.js'
8*/
9
10const internal = createInternal()
11
12class BmResponse {
13 constructor () {
14 Object.assign(internal(this), {
15 headers: {},
16 payload: undefined,
17 statusCode: 200
18 })
19 }
20
21 get headers () /* : Headers */ {
22 return Object.assign({}, internal(this).headers)
23 }
24
25 get payload () /* : any */ {
26 return internal(this).payload
27 }
28
29 get statusCode () /* : number */ {
30 return internal(this).statusCode
31 }
32
33 setHeader (
34 key /* : string */,
35 value /* : string */
36 ) /* : BmResponse */ {
37 key = key.toLowerCase()
38 internal(this).headers[key] = value
39 return this
40 }
41
42 setPayload (
43 payload /* : any */
44 ) /* : BmResponse */ {
45 internal(this).payload = payload
46 return this
47 }
48
49 setStatusCode (
50 code /* : number */
51 ) /* : BmResponse */ {
52 internal(this).statusCode = code
53 return this
54 }
55}
56
57module.exports = BmResponse