Commit Graph

328 Commits

Author SHA1 Message Date
Miroslav Bajtoš 2baa4b03a3 Scope app middleware to a list of paths
Add a new argument to `app.middleware` allowing developers
to restrict the middleware to a list of paths or regular expresions.

Modify `app.middlewareFromConfig` to pass `config.paths` as the second
arg of `app.middleware`.

Examples:

    // A string path (interpreted via path-to-regexp)
    app.middleware('auth', '/admin', ldapAuth);

    // A regular expression
    app.middleware('initial', /^\/~(admin|root)/, rejectWith404);

    // A list of scopes
    app.middleware('routes', ['/api', /^\/assets/.*\.json$/], foo);

    // From config
    app.middlewareFromConfig(
      handlerFactory,
      {
        phase: 'initial',
        paths: ['/scope', /^\/(a|b)/]
      });
2014-11-19 15:42:54 +01:00
Miroslav Bajtoš c29ace3404 Update chai to ^1.10.0 2014-11-11 11:04:40 +01:00
Miroslav Bajtoš a22474d454 package: fix deps
Move loopback-phase from "devDependencies" to "dependencies".
2014-11-11 08:41:51 +01:00
Miroslav Bajtoš 4e1433b519 Middleware phases - initial implementation
Modify the app and router implementation, so that the middleware is
executed in order defined by phases.

Predefined phases:

    'initial', 'session', 'auth', 'parse', 'routes', 'files', 'final'

Methods defined via `app.use`, `app.route` and friends are executed
as the first thing in 'routes' phase.

API usage:

    app.middleware('initial', compression());
    app.middleware('initial:before', serveFavicon());
    app.middleware('files:after', loopback.urlNotFound());
    app.middleware('final:after', errorHandler());

Middleware flavours:

    // regular handler
    function handler(req, res, next) {
      // do stuff
      next();
    }

    // error handler
    function errorHandler(err, req, res, next) {
      // handle error and/or call next
      next(err);
    }
2014-11-10 19:50:58 +01:00
Raymond Feng 246f38c05d Add context propagation middleware
- Implement the middleware `loopback.context`
 - Inject context into juggler and strong-remoting
 - Make http context optional and default to false
 - Optionally mount context middleware from `loopback.rest`
2014-11-05 09:13:44 +01:00
Rob Halff 33096dafa7 Enable jscs for `lib`, fix style violations 2014-11-04 08:25:33 +01:00
Raymond Feng 04729fdffa Bump version 2014-10-27 09:46:34 -07:00
Miroslav Bajtoš d08e296f48 2.6.0 2014-10-23 13:43:29 +02:00
Ritchie Martori 360063a5d2 2.5.0 2014-10-15 11:57:46 -07:00
Miroslav Bajtoš 59457eef6f 2.4.1 2014-10-10 19:51:52 +02:00
Ritchie Martori b00bce330f 2.4.0 2014-10-01 15:01:13 -07:00
Krishna Raman b5516757ae Move looback remote connector to npm module 2014-10-01 14:48:34 -07:00
Ritchie Martori 17ac0e8dd4 2.3.1 2014-10-01 13:39:07 -07:00
Ritchie Martori 056a392649 2.3.0 2014-10-01 10:55:53 -07:00
Ritchie Martori 724b721144 Update strong-remoting version 2014-10-01 10:55:28 -07:00
Raymond Feng 4a536ee6fe Bump versions 2014-09-12 23:29:43 -07:00
Miroslav Bajtoš 642229f513 package: add "web" keyword
Close #538
2014-09-06 19:28:58 +01:00
Ritchie Martori 964a357286 2.1.4 2014-08-26 10:02:42 -07:00
Raymond Feng c28b870784 Bump version 2014-08-18 21:49:08 -07:00
Ritchie Martori d82d789ffa 2.1.2 2014-08-11 10:55:34 -07:00
Raymond Feng 22bca61f32 Bump version 2014-08-08 15:57:11 -07:00
Raymond Feng a053204eca Bump version 2014-08-07 10:40:22 -07:00
Raymond Feng 06c5267d92 Bump version 2014-07-27 00:45:20 -07:00
Raymond Feng 0297ba3a79 Bump version 2014-07-26 14:30:13 -07:00
Al Tsang d877f0edf9 Update package.json 2014-07-25 21:14:27 -07:00
Miroslav Bajtoš 8687267f66 2.0.0 2014-07-22 20:37:38 +02:00
Raymond Feng e5b64c6143 Upgrade to nodemailer 1.0.1 2014-07-16 12:40:15 -07:00
Raymond Feng ff9bc10c06 Bump version 2014-07-16 09:09:50 -07:00
Raymond Feng 79f504a3c7 Merge branch 'master' into 2.0 2014-07-16 09:09:07 -07:00
Raymond Feng 9125218eab Remove unused dep 2014-07-15 16:47:13 -07:00
Raymond Feng 7fe347763b Bump version and update deps 2014-07-15 16:44:09 -07:00
Raymond Feng 7b36196561 Merge pull request #362 from strongloop/feature/remoting-add-remove
Add a test case for hasMany through add/remove remoting
2014-07-15 16:15:27 -07:00
Raymond Feng 54b13f4feb Upgrade to loopback-datasource-juggler@1.7.0 2014-07-15 16:15:02 -07:00
Miroslav Bajtoš e18ee116c1 2.0.0-beta6 2014-07-15 20:53:03 +02:00
Raymond Feng a98db0bf86 Remove unused deps 2014-07-08 08:55:06 -07:00
Miroslav Bajtoš be48a504e0 2.0.0-beta5 2014-07-03 10:14:41 +02:00
Miroslav Bajtoš 10d29c7d86 Merge branch 'master' into 2.0
Conflicts:
	package.json
2014-06-27 10:36:06 +02:00
Miroslav Bajtoš 57060ec4c1 v1.9.1 2014-06-27 10:25:47 +02:00
Miroslav Bajtoš f92d18939a 2.0.0-beta4 2014-06-26 14:58:58 +02:00
Miroslav Bajtoš fb66bf5c44 package: upgrade juggler to 2.0.0-beta2 2014-06-26 13:31:41 +02:00
Miroslav Bajtoš 50816ebbe3 Fix loopback in PhantomJS, fix karma tests
- Move configuration of Karma unit-tests from `Gruntfile.js` to a
  standalone file (`test/karma.conf.js`).

- Add a new Grunt task `karma:unit-ci` to run Karma unit-tests in
  PhantomJS and produce karma-xunit.xml file that can be consumed
  by the CI server.

- Add grunt-mocha-test, configure it to run unit-tests.

- Add `grunt test` task that runs both karma and mocha tests,
  detects Jenkins to produce XML output on CI server.

- Modify the `test` script in `package.json` to run
  `grunt mocha-and-karma` (an alias for `grunt test`).
  The alias is required to trick `sl-ci-run` to run `npm test`
  instead of calling directly `mocha`.

- Add `es5-shim` module to karma unit-tests in order to provide
  ES5-methods required by LoopBack.

- Fix `mixin(source)` in lib/loopback.js to work in PhantomJS.
  `Object.getOwnPropertyDescriptor()` provided by `es5-shim` does not
  work in the same way as in Node.
2014-06-26 13:30:09 +02:00
Miroslav Bajtoš 1daa93e448 Merge pull request #349 from lchenay/patch-2
Allow peer to use beta2 of datasource-juggler (and future)
2014-06-26 12:38:50 +02:00
Raymond Feng c20ecaf265 Bump version and update deps 2014-06-25 09:09:14 -07:00
Laurent 41b826d3c5 Allow peer to use beta2 of datasource-juggler (and future)
Signed-off-by: Laurent Chenay <lchenay@gmail.com>
2014-06-25 16:02:05 +02:00
Miroslav Bajtoš c896c78db0 Remove `app.boot`
Modify `app.boot` to throw an exception, pointing users to the new
module `loopback-boot`.
2014-06-25 14:09:06 +02:00
Raymond Feng 0d0a8658e5 Update juggler dep 2014-06-20 21:25:27 -07:00
Miroslav Bajtoš f20236c715 package: the next version will be a minor version 2014-06-16 21:01:31 +02:00
Miroslav Bajtoš f80259a245 Remove loopback-explorer from dev deps
1. loopback-explorer has a peer dependency on loopback, which
  forces `npm install` to install loopback within loopback. Somehow
  npm ends up installing loopback 1.x, which is not compatible with
  datasource-juggler 2.x.

 2. The only place using loopback-explorer is the app used by e2e tests.
  However, the e2e test app does not load the explorer at the moment
  and the e2e test are not being run anyway.
2014-06-13 10:19:15 +02:00
Miroslav Bajtoš d21669b844 Merge branch 'master' into 2.0
Conflicts:
	docs.json
	lib/application.js
	lib/loopback.js
	lib/models/data-model.js
	lib/models/model.js
	lib/models/user.js
	lib/registry.js
	package.json
	test/app.test.js
2014-06-13 10:09:25 +02:00
Miroslav Bajtoš e7884dce50 package: upgrade Mocha to 1.20 2014-06-12 10:33:56 +02:00
Miroslav Bajtoš 3deadcd180 test: fix ACL integration tests
Change the tests creating new users so that they send valid user data,
in order to prevent 422 "validation failed" responses.

Upgrade loopback-testing to 0.2.0.
2014-06-12 10:33:40 +02:00
Raymond Feng 439aa883ec Bump version so that we can republish 2014-06-09 15:14:28 -07:00
Raymond Feng 0595a76a93 Bump version 2014-06-09 15:02:40 -07:00
Raymond Feng 6b4ebdf609 Allow the creation of access token to be overriden 2014-06-09 14:53:55 -07:00
Ritchie Martori 0414d040ee 1.8.6 2014-06-03 15:40:16 -07:00
Ritchie Martori ce6a85ee58 Update strong-remoting to 1.5 2014-06-03 14:54:27 -07:00
Miroslav Bajtoš 88a4bb462e Exclude express-middleware from browser bundle
Fix lib/loopback to include express-middleware only on the server.

Bump up strong-remoting dependency to use the version working in
browsers.
2014-06-03 21:32:27 +02:00
Raymond Feng c10305754f Clean up express middleware dependencies 2014-05-30 17:08:03 -07:00
Raymond Feng d6ae28cf87 Update strong-remoting dep 2014-05-29 21:35:57 -07:00
Raymond Feng 49380e490f Upgrade to Express 4.x 2014-05-29 08:44:05 -07:00
Miroslav Bajtoš ab0700a690 2.0.0-beta3 2014-05-28 18:45:29 +02:00
Miroslav Bajtoš 0bb69f888c package.json: fix malformed json
The formatting error was introduced by the previous merge commit.
2014-05-28 18:45:05 +02:00
Miroslav Bajtoš 18fd61a546 Merge branch 'master' into 2.0 2014-05-28 18:41:36 +02:00
Ritchie Martori 10bbfdcf25 2.0.0-beta2 2014-05-27 16:09:45 -07:00
Ritchie Martori 7005c4bdd0 2.0.0-beta1 2014-05-27 15:15:50 -07:00
Raymond Feng 5af3b2e9ae Bump version 2014-05-27 10:58:58 -07:00
Raymond Feng 815dbc94e6 Add postgresql to the keywords 2014-05-27 10:58:26 -07:00
altsang c952d4055a updated package.json with SOAP and framework keywords 2014-05-27 10:55:04 -07:00
Raymond Feng 80e5bf0ce6 updated package.json with keywords and updated description 2014-05-27 10:54:39 -07:00
Raymond Feng 68c79ba2df Add more keywords 2014-05-27 10:24:26 -07:00
Raymond Feng b971734791 Bump version 2014-05-27 10:22:27 -07:00
Raymond Feng 0b315964d3 Update dependencies 2014-05-26 21:52:48 -07:00
Rand McKinney 1ebeca66f2 Added more keywords 2014-05-23 17:48:37 -07:00
Rand McKinney bc8678a1ff added "REST API" keyword 2014-05-23 09:57:25 -07:00
Rand McKinney d26905506c added 'web' and 'framework' keywords 2014-05-23 09:56:27 -07:00
Ritchie Martori 5ea3b1ee87 Use common syntax for juggler dep 2014-05-21 13:43:20 -07:00
Ritchie Martori 7a7f868bf8 Add RC version 2014-05-20 15:21:52 -07:00
Ritchie Martori 81d29875be 1.8.3 2014-05-20 15:03:29 -07:00
Ritchie Martori d237ae5ddb Merge latest from master 2014-05-20 14:31:09 -07:00
Ritchie Martori 198e52feeb Make juggler version a bit more strict to avoid pulling in breaking changes 2014-05-20 14:10:49 -07:00
Ritchie Martori 0c925f7cea Depend on juggler@1.6.0 2014-05-20 14:08:30 -07:00
Ritchie Martori eec7bdd5f4 - Use the RemoteObjects class to find remote objects instead of
creating a cache
 - Use the SharedClass class to build the remote connector
 - Change default base model from Model to DataModel
 - Fix DataModel errors not logging correct method names
 - Use the strong-remoting 1.4 resolver API to resolve dynamic remote
methods (relation api)
 - Remove use of fn object for storing remoting meta data
2014-05-19 15:56:26 -07:00
Miroslav Bajtoš b24d5e9d20 1.8.2 2014-05-16 20:10:29 +02:00
Miroslav Bajtoš a08bcee44d Support all 1.x versions of datasource-juggler
Modify the loopback-datasource-juggler semver specifier in
peerDependencies and devDependencies from "~1.3.11" to "^1.3.11".
The goal is to support newer 1.x versions like 1.4.0 or 1.5.x.
2014-05-15 09:46:35 +02:00
Ritchie Martori 344601cde4 bump juggler version 2014-05-14 14:39:30 -07:00
Ritchie Martori 64ea805758 Merge branch 'master' into feature/replication 2014-05-14 13:54:36 -07:00
Ritchie Martori 0ab3817c69 Add homepage to package.json 2014-05-12 09:22:09 -07:00
Ritchie Martori e35309ba27 Fixes for e2e replication / remote connector tests 2014-04-29 17:17:49 -07:00
Raymond Feng 25599c0fb4 Bump version 2014-04-24 10:30:35 -07:00
Ritchie Martori 05cae7ae44 1.8.0 2014-04-16 14:41:24 -07:00
Ritchie Martori e86a00de69 Merge branch master 2014-04-15 12:53:00 -07:00
Ritchie Martori 1c6f157b9f Merge pull request #197 from strongloop/feature/remoting-connector
Remote Connector
2014-04-15 12:44:55 -07:00
Ritchie Martori 53155810ba 1.7.7 2014-04-15 09:19:24 -07:00
Ritchie Martori 7c0a470d64 Add basic Remote connector e2e test 2014-04-14 12:25:41 -07:00
Ritchie Martori 5298834c68 Merge branch 'master' into feature/remoting-connector 2014-04-14 11:01:20 -07:00
Ritchie Martori 5ffc0e8979 1.7.6 2014-04-14 10:29:40 -07:00
Ritchie Martori 37a28db017 Bump juggler version 2014-04-11 12:42:59 -07:00
Ritchie Martori e9323ce664 1.7.5 2014-04-11 09:31:59 -07:00
Ritchie Martori b4da270a49 Add nodemailer to browser ignores 2014-04-08 15:26:02 -07:00
Miroslav Bajtoš 3640b2e113 v1.7.4 2014-04-04 16:41:25 +02:00
Ritchie Martori f77378bdd1 1.7.3 2014-03-31 12:05:56 -07:00
Ritchie Martori 875e5c1e19 Depend on strong-remoting 1.3 2014-03-27 15:47:03 -07:00
Raymond Feng b9f8c03d84 Bump version 2014-03-19 17:02:42 -07:00
Miroslav Bajtoš 2c510a7b2e v1.7.1 2014-03-18 18:15:24 +01:00
Raymond Feng b5f461c1c1 Bump version to 1.7.0 2014-02-21 11:03:51 -08:00
Raymond Feng dcb69233d5 Update deps 2014-02-21 11:02:53 -08:00
Raymond Feng 8a0f7cf412 Bump version and update deps 2014-02-21 09:27:50 -08:00
Ritchie Martori 138821cf8b Merge package.json and lib/loopback.js 2014-02-19 11:44:44 -08:00
Raymond Feng d8c43bc872 Merge pull request #180 from strongloop/feature/dual-license
Dual license: MIT + StrongLoop
2014-02-17 16:36:06 -08:00
Raymond Feng d14fb62d08 Update the license text 2014-02-14 11:53:17 -08:00
Ritchie Martori bade487616 Remove unused karma packages 2014-02-12 11:52:37 -08:00
Ritchie Martori e39020aead Merge package.json 2014-02-12 11:50:42 -08:00
Raymond Feng 6e4a10bd94 Bump version and update deps 2014-02-12 11:31:26 -08:00
Ritchie Martori e7f64a3abf Add karma for running browser tests 2014-02-12 10:17:02 -08:00
Raymond Feng 29ff733da7 Dual license: MIT + StrongLoop 2014-02-10 16:15:02 -08:00
Miroslav Bajtoš dc3583123f v1.6.1 2014-01-30 19:35:05 +01:00
Miroslav Bajtoš a02f44a270 v1.6.0 2014-01-27 10:45:49 +01:00
Miroslav Bajtoš 4699219b70 Update dependencies
strong-remoting ~1.2.1
loopback-datasource-juggler ~1.2.13
2014-01-27 10:29:57 +01:00
Ritchie Martori 4be3395298 Add Change model 2014-01-26 13:20:19 -08:00
Raymond Feng 4f72737b95 Bump version 2014-01-23 15:51:21 -08:00
Raymond Feng 4c56be93c3 Bump version 2014-01-17 11:05:26 -08:00
Raymond Feng 7e47bbea4b Bump version 2014-01-14 16:30:47 -08:00
Miroslav Bajtoš 7fbb70d520 v1.5.0 2014-01-14 08:29:56 +01:00
Raymond Feng 73a0014992 Bump version 2014-01-07 15:31:21 -08:00
Ritchie Martori c5f2869dc3 1.4.1 2013-12-20 19:35:21 -08:00
Ritchie Martori 449f17d462 Explicitly depend on juggler@1.2.11 2013-12-20 19:33:15 -08:00
Ritchie Martori 7b826e7c9e Add e2e tests for relations 2013-12-20 19:15:23 -08:00
Ritchie Martori 7c4737f397 1.4.0 2013-12-18 21:43:01 -08:00
Ritchie Martori 939df463fe Fix tests depending on old behavior of default User ACLs 2013-12-17 21:10:05 -08:00
Ritchie Martori 9841a86a46 1.3.4 2013-12-13 11:39:23 -08:00
Ritchie Martori ea7c9216d7 App config settings are now available from app.get() 2013-12-11 19:31:16 -08:00
Raymond Feng 2e9d34af37 Bump version 2013-12-06 10:47:08 -08:00
Raymond Feng fb149e63a0 Bump version 2013-12-06 10:41:59 -08:00
Raymond Feng 8300ba6c08 Make loopback-datasource-juggler a peer dep 2013-12-06 10:24:29 -08:00
Raymond Feng 34405df2cb Bump version 2013-12-04 11:25:30 -08:00
Raymond Feng bee8a3b022 Add checkAccess for subject and token 2013-11-20 13:43:01 -08:00
Ritchie Martori 3b697e796d Upgrade nodemailer 2013-11-18 10:50:57 -08:00
Ritchie Martori 5373cb1ac7 Bump minor version 2013-11-18 10:33:14 -08:00
Raymond Feng 878a3c6879 Remove blanket 2013-11-15 13:58:36 -08:00
Raymond Feng 9bc762c09c Update dependencies 2013-11-14 21:19:57 -08:00
Ritchie Martori 64d8ff986b Add loopback.token() middleware 2013-11-14 13:01:47 -08:00
Ritchie 77a137eca6 Rename Session => AccessToken 2013-11-14 10:05:13 -08:00
Ritchie Martori e382626675 Bump verison 2013-11-11 13:39:02 -08:00
Ritchie Martori 81c2ec30aa Add explicit Strong-remoting dep version 2013-11-08 10:08:00 -08:00
Ritchie Martori d3d4c6a910 Bump version 2013-11-05 14:11:55 -08:00
Ritchie Martori da5cb2c117 Add app.boot() 2013-10-29 14:44:44 -07:00
Raymond Feng 25f2ce3e40 Add keywords to package.json 2013-09-13 11:11:37 -07:00
Raymond Feng e189c2e025 Add repo 2013-09-13 11:11:31 -07:00
Raymond Feng 2690273d9d Finalize package.json for sls-1.0.0 2013-09-13 11:11:23 -07:00
Ritchie 159eb0076c Use a pure JS bcrypt 2013-09-12 12:09:43 -07:00
Raymond Feng 61c30e58b9 Fix package.json to remove duplicate mocha deps 2013-09-04 17:01:42 -07:00
Raymond Feng 0a52aed692 Tidy up package.json for LoopBack 1.0.0 2013-09-04 16:50:47 -07:00
cgole cce566a421 Added code coverage blanket.js 2013-08-14 12:46:41 -07:00
Raymond Feng 53c65602d2 Use strong-task-emitter 2013-08-01 11:31:30 -07:00
Raymond Feng 0d405d4292 Rename 'loopback-data' to 'loopback-datasource-juggler' 2013-07-30 14:26:49 -07:00
Ritchie Martori 345435e7b2 Rename sl-remoting to strong-remoting 2013-07-19 12:07:04 -07:00
Raymond Feng 1970f12988 Rename jugglingdb to loopback-data 2013-07-16 12:03:41 -07:00
Raymond Feng 2f773115fe rename asteroid to loopback 2013-07-16 11:02:06 -07:00
Ritchie Martori fc0777de08 Add basic email verification 2013-07-03 13:40:14 -07:00
Ritchie Martori 8387a68b85 Initial users 2013-07-03 13:40:13 -07:00
Ritchie Martori a893a982aa Bump version 2013-06-25 13:52:14 -07:00
Ritchie Martori 88f634df38 model.find => model.findById, model.all => model.find 2013-06-24 12:26:46 -07:00
Ritchie Martori 66281d7c23 Release 0.8.0 2013-06-24 12:08:35 -07:00
Raymond Feng 130b596786 Remove the oracle dependency 2013-06-24 09:07:40 -07:00
Raymond Feng 17015eef9b Rename oracle connector 2013-06-20 17:53:42 -07:00
Ritchie Martori 166451443a Updated docs, updated tests 2013-06-12 15:44:38 -07:00
Ritchie Martori bcef4c88cf Remove node modules from ignore, removie configure middleware 2013-06-07 13:12:46 -07:00
Ritchie Martori 7d0858b22e Remove node modules, add initial tests 2013-06-07 12:57:51 -07:00
Ritchie Martori d53b995241 Moved juggling oracle to optional deps 2013-05-28 09:52:22 -07:00
Raymond Feng d856ca026d Bring up the oracle integration 2013-05-24 08:57:52 -07:00
Ritchie 787a6bcf43 Integrate remoting and jugglingdb fork 2013-05-24 07:59:23 -07:00
Ritchie 279ce5b929 remove model-route 2013-05-23 09:53:42 -07:00
Ritchie Martori bd2bf60467 Change references for module renames 2013-05-17 17:47:23 -07:00
Dallon Feldner 8d2e9c51f6 Update package.json
Added merge as a dependency
2013-05-07 11:53:25 -07:00
Ritchie Martori c9ae880822 Point deps at github 2013-05-02 11:31:44 -07:00
Dallon Feldner 9e422bea3e Added jugglingdb to dependencies 2013-04-23 13:35:56 -07:00
Ritchie Martori 3457d34afe Add bundledDeps 2013-04-19 09:55:52 -07:00
Ritchie Martori 2a0f68e434 init 2013-04-09 09:02:36 -07:00