@@ -29,39 +29,26 @@ function handleBatch(router, req) {
29
29
var apiPrefixLength = req . originalUrl . length - batchPath . length ;
30
30
var apiPrefix = req . originalUrl . slice ( 0 , apiPrefixLength ) ;
31
31
32
- var promises = [ ] ;
33
- for ( var restRequest of req . body . requests ) {
32
+ let promises = req . body . requests . map ( ( restRequest ) => {
34
33
// The routablePath is the path minus the api prefix
35
34
if ( restRequest . path . slice ( 0 , apiPrefixLength ) != apiPrefix ) {
36
35
throw new Parse . Error (
37
36
Parse . Error . INVALID_JSON ,
38
37
'cannot route batch path ' + restRequest . path ) ;
39
38
}
40
39
var routablePath = restRequest . path . slice ( apiPrefixLength ) ;
41
-
42
- // Use the router to figure out what handler to use
43
- var match = router . match ( restRequest . method , routablePath ) ;
44
- if ( ! match ) {
45
- throw new Parse . Error (
46
- Parse . Error . INVALID_JSON ,
47
- 'cannot route ' + restRequest . method + ' ' + routablePath ) ;
48
- }
49
-
50
- // Construct a request that we can send to a handler
51
- var request = {
40
+ let request = {
52
41
body : restRequest . body ,
53
- params : match . params ,
54
42
config : req . config ,
55
43
auth : req . auth ,
56
44
info : req . info
57
- } ;
58
-
59
- promises . push ( match . handler ( request ) . then ( ( response ) => {
45
+ }
46
+ return router . tryRouteRequest ( restRequest . method , routablePath , request ) . then ( ( response ) => {
60
47
return { success : response . response } ;
61
48
} , ( error ) => {
62
49
return { error : { code : error . code , error : error . message } } ;
63
- } ) ) ;
64
- }
50
+ } ) ;
51
+ } ) ;
65
52
66
53
return Promise . all ( promises ) . then ( ( results ) => {
67
54
return { response : results } ;
0 commit comments