-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathrequest.js
49 lines (41 loc) · 1.26 KB
/
request.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
const kErrors = Symbol('errors')
const ErrorBag = require('@ostro/support/errorBag')
const ObjectGet = require('lodash.get')
const Request = require('@ostro/http/request')
class HttpRequest extends Request {
old(key, defaultValue = null) {
return ObjectGet(this.session.get('__inputs'), key, defaultValue);
}
error(key, defaultValue = null) {
this[kErrors] = this[kErrors] || new ErrorBag((this.session ? this.session.get('__errors') : {}))
if (key) {
return this[kErrors].first('key')
}
return this[kErrors]
}
csrfToken() {
return this.session.token() || ''
}
flash() {
return this.session.flash(...arguments)
}
flashOnly() {
return this.session.flashOnly(...arguments)
}
flashExcept() {
return this.session.flashExcept(...arguments)
}
routeIs(route) {
let currentRoute = app('router').currentRoute(this)
if (!currentRoute) {
return false
} else if (!currentRoute.$name) {
return false
} else if (currentRoute.$name == route) {
return true
} else {
return Boolean(currentRoute.$name.match(new RegExp(route)))
}
}
}
module.exports = HttpRequest