Skip to content

Commit 73ddb87

Browse files
committed
If no origin header treat req as same origin
1 parent 1abfb87 commit 73ddb87

3 files changed

Lines changed: 11 additions & 12 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "scrud",
3-
"version": "1.0.3",
3+
"version": "1.0.4",
44
"description": "Super opinionated, minimalistic, PG centric API fabric",
55
"engines": {
66
"node": ">=6.0.0"

scrud.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ function handleRequest (req, res) {
154154
res.setHeader('Content-Type', 'application/json; charset=utf-8')
155155
let headers = req.headers || {}
156156
let origin = headers['origin']
157-
if (!allowOrigins[origin]) return rejectPreflight(res, origin)
157+
if (origin && !allowOrigins[origin]) return rejectPreflight(res, origin)
158158
if (origin) res.setHeader('Access-Control-Allow-Origin', origin)
159159
if (req.method === 'OPTIONS' && headers['access-control-request-method']) {
160160
return ackPreflight(res, origin, headers['access-control-request-headers'])

test/index.js

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import test from 'ava'
55
import scrud from './../index'
66
import axios from 'axios'
7-
const headers = {origin: 'localhost'}
87
const allowOrigins = ['localhost']
98
let secrets
109
try {
@@ -28,24 +27,24 @@ test('scrud actions are handled as expected', async (assert) => {
2827
let base = `http://localhost:${opts.port}${opts.base}/member`
2928
let sParams = `${encodeURIComponent('?first=andrew')}`
3029
// create first so that we can expect data in other actions
31-
let c = await axios({method: 'POST', url: `${base}`, headers, data: postBody})
30+
let c = await axios({method: 'POST', url: `${base}`, data: postBody})
3231
assert.is(c.headers.scrud, 'member:create')
3332
let id = c.data.data.id
3433
assert.truthy(id)
3534
// search
36-
let s = await axios({method: 'GET', url: `${base}${sParams}`, headers})
35+
let s = await axios({method: 'GET', url: `${base}${sParams}`})
3736
assert.is(s.headers.scrud, 'member:search')
3837
assert.true(Array.isArray(s.data.data) && s.data.data.length > 0)
3938
// read
40-
let r = await axios({method: 'GET', url: `${base}/${id}`, headers})
39+
let r = await axios({method: 'GET', url: `${base}/${id}`})
4140
assert.is(r.headers.scrud, 'member:read')
4241
assert.is(r.data.data.zip, '37601')
4342
// update
44-
let u = await axios({method: 'PUT', url: `${base}/${id}`, headers, data: putBody})
43+
let u = await axios({method: 'PUT', url: `${base}/${id}`, data: putBody})
4544
assert.is(u.headers.scrud, 'member:update')
4645
assert.is(u.data.data.zip, '37615')
4746
// delete
48-
let d = await axios({method: 'DELETE', url: `${base}/${id}`, headers})
47+
let d = await axios({method: 'DELETE', url: `${base}/${id}`})
4948
assert.is(d.headers.scrud, 'member:delete')
5049
assert.falsy(d.data.error)
5150
})
@@ -73,9 +72,9 @@ test('instances do not intermingle', async (assert) => {
7372
await aScrud.start(aOpts)
7473
await bScrud.start(bOpts)
7574
// ensure aScrud only handles it's resources
76-
await assert.throws(axios({method: 'GET', headers, url: `${aBase}member_b/1`}))
77-
await assert.notThrows(axios({method: 'GET', headers, url: `${aBase}member_a/1`}))
75+
await assert.throws(axios({method: 'GET', url: `${aBase}member_b/1`}))
76+
await assert.notThrows(axios({method: 'GET', url: `${aBase}member_a/1`}))
7877
// ensure bScrud only handles it's resources
79-
await assert.throws(axios({method: 'GET', headers, url: `${bBase}member_a/1`}))
80-
await assert.notThrows(axios({method: 'GET', headers, url: `${bBase}member_b/1`}))
78+
await assert.throws(axios({method: 'GET', url: `${bBase}member_a/1`}))
79+
await assert.notThrows(axios({method: 'GET', url: `${bBase}member_b/1`}))
8180
})

0 commit comments

Comments
 (0)