Skip to content

Commit 2dc080f

Browse files
committed
Require a server URL
1 parent 531e2ff commit 2dc080f

File tree

3 files changed

+16
-16
lines changed

3 files changed

+16
-16
lines changed

spec/index.spec.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@ var request = require('request');
22

33
describe('server', () => {
44
it('requires a master key and app id', done => {
5-
expect(setServerConfiguration.bind(undefined, { masterKey: 'mykey' })).toThrow('You must provide an appId and masterKey!');
6-
expect(setServerConfiguration.bind(undefined, { appId: 'myId' })).toThrow('You must provide an appId and masterKey!');
5+
expect(setServerConfiguration.bind(undefined, { })).toThrow('You must provide an appId!');
6+
expect(setServerConfiguration.bind(undefined, { appId: 'myId' })).toThrow('You must provide a masterKey!');
7+
expect(setServerConfiguration.bind(undefined, { appId: 'myId', masterKey: 'mk' })).toThrow('You must provide a serverURL!');
78
done();
89
});
910

src/index.js

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ var batch = require('./batch'),
1111
multer = require('multer'),
1212
Parse = require('parse/node').Parse,
1313
httpRequest = require('./httpRequest');
14-
14+
1515
import PromiseRouter from './PromiseRouter';
1616
import { GridStoreAdapter } from './Adapters/Files/GridStoreAdapter';
1717
import { S3Adapter } from './Adapters/Files/S3Adapter';
@@ -31,12 +31,13 @@ import { SchemasRouter } from './Routers/SchemasRouter';
3131
import { IAPValidationRouter } from './Routers/IAPValidationRouter';
3232
import { PushRouter } from './Routers/PushRouter';
3333
import { FilesRouter } from './Routers/FilesRouter';
34-
import { LogsRouter } from './Routers/LogsRouter';
34+
import { LogsRouter } from './Routers/LogsRouter';
3535

36-
import { loadAdapter } from './Adapters/AdapterLoader';
36+
import { loadAdapter } from './Adapters/AdapterLoader';
3737
import { FileLoggerAdapter } from './Adapters/Logger/FileLoggerAdapter';
3838
import { LoggerController } from './Controllers/LoggerController';
3939

40+
import requiredParameter from './requiredParameter';
4041
// Mutate the Parse object to add the Cloud Code handlers
4142
addParseCloud();
4243

@@ -65,8 +66,8 @@ addParseCloud();
6566
// "push": optional key from configure push
6667

6768
function ParseServer({
68-
appId,
69-
masterKey,
69+
appId = requiredParameter('You must provide an appId!'),
70+
masterKey = requiredParameter('You must provide a masterKey!'),
7071
databaseAdapter,
7172
filesAdapter,
7273
push,
@@ -82,13 +83,9 @@ function ParseServer({
8283
facebookAppIds = [],
8384
enableAnonymousUsers = true,
8485
oauth = {},
85-
serverURL = '',
86+
serverURL = requiredParameter('You must provide a serverURL!'),
8687
maxUploadSize = '20mb'
8788
}) {
88-
if (!appId || !masterKey) {
89-
throw 'You must provide an appId and masterKey!';
90-
}
91-
9289
if (databaseAdapter) {
9390
DatabaseAdapter.setAdapter(databaseAdapter);
9491
}
@@ -106,8 +103,8 @@ function ParseServer({
106103
throw "argument 'cloud' must either be a string or a function";
107104
}
108105
}
109-
110-
106+
107+
111108
const filesControllerAdapter = loadAdapter(filesAdapter, GridStoreAdapter);
112109
const pushControllerAdapter = loadAdapter(push, ParsePushAdapter);
113110
const loggerControllerAdapter = loadAdapter(loggerAdapter, FileLoggerAdapter);
@@ -117,7 +114,7 @@ function ParseServer({
117114
const filesController = new FilesController(filesControllerAdapter);
118115
const pushController = new PushController(pushControllerAdapter);
119116
const loggerController = new LoggerController(loggerControllerAdapter);
120-
117+
121118
cache.apps[appId] = {
122119
masterKey: masterKey,
123120
collectionPrefix: collectionPrefix,
@@ -175,7 +172,7 @@ function ParseServer({
175172
new LogsRouter(),
176173
new IAPValidationRouter()
177174
];
178-
175+
179176
if (process.env.PARSE_EXPERIMENTAL_CONFIG_ENABLED || process.env.TESTING) {
180177
routers.push(require('./global_config'));
181178
}

src/requiredParameter.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
/* @flow */
2+
export default (errorMessage: string) => {throw errorMessage}

0 commit comments

Comments
 (0)