File tree Expand file tree Collapse file tree 3 files changed +38
-0
lines changed Expand file tree Collapse file tree 3 files changed +38
-0
lines changed Original file line number Diff line number Diff line change 11# Change Log
22
3+ ## [ Unreleased] [ unreleased ]
4+
5+ ### Changed
6+
7+ * Automatically ignore unknown query parameters
8+
9+ ``` bash
10+ # Before
11+ GET /products? author=typicode& foo=bar # []
12+ # After
13+ GET /products? author=typicode& foo=bar # [{...}, {...}]
14+ ```
15+
316## [ 0.7.28] [ 2015-09-09 ]
417
518``` bash
Original file line number Diff line number Diff line change @@ -63,6 +63,23 @@ module.exports = function (db, name) {
6363 delete req . query . _embed
6464 delete req . query . _expand
6565
66+ // Automatically delete query parameters that can't be found
67+ // in the database
68+ Object . keys ( req . query ) . forEach ( function ( query ) {
69+ var arr = db ( name ) . value ( )
70+ for ( var i in arr ) {
71+ if (
72+ _ . has ( arr [ i ] , query ) ||
73+ query === 'callback' ||
74+ query === '_' ||
75+ query . indexOf ( '_lte' ) !== - 1 ||
76+ query . indexOf ( '_gte' ) !== - 1
77+ ) return
78+ }
79+ delete req . query [ query ]
80+ } )
81+
82+
6683 if ( q ) {
6784
6885 // Full-text search
Original file line number Diff line number Diff line change @@ -118,6 +118,14 @@ describe('Server', function () {
118118 . expect ( new RegExp ( db . comments [ 0 ] . body ) ) // JSONP returns text
119119 . expect ( 200 , done )
120120 } )
121+
122+ it ( 'should ignore unknown query parameters' , function ( done ) {
123+ request ( server )
124+ . get ( '/comments?foo=1&bar=2' )
125+ . expect ( 'Content-Type' , / j s o n / )
126+ . expect ( db . comments )
127+ . expect ( 200 , done )
128+ } )
121129 } )
122130
123131 describe ( 'GET /:resource?q=' , function ( ) {
You can’t perform that action at this time.
0 commit comments