1
0
Fork 0
Commit Graph

392 Commits

Author SHA1 Message Date
Alan Plum 3a4f19e8fb
Less noise in dev mode 2016-06-15 21:07:20 +02:00
Alan Plum f403ccecf4
Log route info if error was encountered in Foxx 2016-06-15 21:07:19 +02:00
Alan Plum 564fc24472
(2.x) Don't log response type in dev mode when no body was set 2016-06-15 21:07:19 +02:00
Alan Plum 4b65779cc4
Add req.trustProxy, req.arangoUser, req.arangoVersion 2016-06-15 17:11:57 +02:00
Alan Plum 7c40d6d58d
Don't expose internal request user to Foxx 2016-06-15 16:32:35 +02:00
Alan Plum e6b1e0642d
Remove unused system session storage 2016-06-15 16:13:46 +02:00
Alan Plum 74db8609fb
Missed one 2016-06-15 16:13:46 +02:00
Alan Plum d9394f44e1
lodash no longer accepts thisArg 2016-06-15 15:17:58 +02:00
Alan Plum 2bb8957caf
Update all dependencies to latest 2016-06-15 13:47:01 +02:00
Alan Plum a8219b4818
Unbreak the build I say 2016-06-14 17:20:06 +02:00
Alan Plum 0f5b4624ea
Unbreak the build 2016-06-14 17:18:40 +02:00
Alan Plum 0867e8aa87
Validate request headers also 2016-06-14 16:29:36 +02:00
Alan Plum 4466925398
Remove redundant quotes
[skip ci]
2016-06-14 16:29:33 +02:00
Alan Plum 45488ef615
Make param validation errors more descriptive 2016-06-14 16:29:31 +02:00
Alan Plum 8639ebb4cf
Rename 'reason' to 'description'
[skip ci]
2016-06-14 16:29:29 +02:00
Alan Plum 3ac6139fdc
Also format JSON body in res.write & res.body 2016-06-13 18:30:38 +02:00
Alan Plum 279ec5e973
Also handle defaultDocument in non-legacy services 2016-06-13 14:27:26 +02:00
Max Neunhoeffer 5f14a4eaa5 Fix JS code using asyncRequest. 2016-06-06 15:21:36 +02:00
Max Neunhoeffer 19747c8b6c Fix crash due to wrong usage of asyncRequest. 2016-06-06 11:30:39 +02:00
Frank Celler 397623460e WIP 2016-06-02 09:49:36 +02:00
Andreas Streichardt 021b71a7c1 Frontend is working 2016-06-01 17:51:39 +02:00
Andreas Streichardt 630d12713d Merge branch 'devel' into jwt 2016-06-01 10:19:53 +02:00
Andreas Streichardt 2a1c9b93f4 Fix eslint stuff 2016-06-01 09:50:32 +02:00
Alan Plum d4a9b0e1f3
Indicate legacy state in app store 2016-05-31 14:46:00 +02:00
Alan Plum 76be53e57c
Don't throw generic errors in Foxx manager 2016-05-31 14:45:59 +02:00
Alan Plum 04b3076437
English mf, do you speak it? 2016-05-31 12:55:05 +02:00
Alan Plum 63ccfa22a9
request.params -> request.param 2016-05-31 12:55:04 +02:00
Alan Plum 94462c90c0
Fall back to Infinity for request.range max value 2016-05-31 12:55:04 +02:00
Alan Plum d51a8bd1d6
let -> const 2016-05-24 13:12:21 +02:00
Alan Plum f758c4764e
Use yield* syntax 2016-05-24 13:12:20 +02:00
Alan Plum 914e8628ed
Default JWT algorithm to HS512
Most secure option right now.
2016-05-20 16:40:10 +02:00
Alan Plum ea588e1373
Document sessions middleware 2016-05-18 15:36:00 +02:00
Alan Plum 72e685096a
Foxx console -> legacy 2016-05-18 14:44:47 +02:00
jsteemann 593052b1e8 removed useless log output 2016-05-13 23:17:53 +02:00
hkernbach 628474f54e sessions value generation 2016-05-13 17:48:44 +02:00
Andreas Streichardt 4d13e8fb1b _listDatabases() => _databases() 2016-05-11 15:30:47 +02:00
Alan Plum 1c87085f73
ES6 > lodash 2016-05-09 18:20:06 +02:00
Alan Plum e05c9440b9
Use manifest instead of service in service.toJSON 2016-05-09 18:18:37 +02:00
Alan Plum 3deb641d00
Make sure headers exists before adding headers 2016-05-09 18:12:34 +02:00
Alan Plum 6459b39159
Fix missing name/version in generated foxxes 2016-05-09 18:12:33 +02:00
Alan Plum eef85f6202
Sort Foxx manifest fields 2016-05-03 14:08:19 +02:00
Alan Plum 4d6e0d5d3b
Generate README for new Foxx services 2016-05-03 11:33:23 +02:00
jsteemann 065d1bfa9a don't fail 2016-05-03 00:44:55 +02:00
Alan Plum 82a43bfca7
service.name -> service.manifest.name etc 2016-05-02 18:56:04 +02:00
Alan Plum 3bb355e3dc
Don't default to index.js 2016-05-02 18:47:37 +02:00
Alan Plum 649c571e54
Prefer path.join over fs.join 2016-05-02 15:50:07 +02:00
Alan Plum 11c7db4375
Quality of life improvements in Foxx 2016-05-02 15:50:07 +02:00
Alan Plum e1d384813e
Make Foxx name/version optional 2016-05-02 15:50:06 +02:00
Alan Plum f81c946fd7
app -> service 2016-05-02 14:42:08 +02:00
Alan Plum ea7ff40a9c
Warn when specifying manifest.engine 2016-05-02 14:42:08 +02:00
Alan Plum 081a6f6a7f
Collection session storage should autoUpdate by default 2016-05-02 10:29:23 +02:00
Alan Plum cc4ab07705
Session storage ttl should be specified in secs not mins 2016-04-29 16:36:26 +02:00
Alan Plum b83921bc62
jwt sessions: expiry -> ttl 2016-04-29 16:11:14 +02:00
jsteemann ea46d40bcd remove unused variable 2016-04-29 15:16:24 +02:00
Alan Plum fb2a9818e6
Session storages need both forClient and fromClient 2016-04-29 15:04:03 +02:00
Alan Plum 80dbea94a4
Make gharial behave better on errors again 2016-04-29 15:04:02 +02:00
Alan Plum c829737568
Don't use _users in aardvark directly 2016-04-29 12:58:51 +02:00
Alan Plum 7b9085b009
Clear+recreate internal sessions to refresh them 2016-04-25 14:22:10 +02:00
jsteemann 58198a834e re-added options for foxx queues 2016-04-24 15:27:08 +02:00
Alan Plum 7653fe5eb8
Re-createSid on every access
There's no other way to prevent the internal sid from timing out apparently.
2016-04-21 15:14:01 +02:00
Max Neunhoeffer 877e42e7c5 Merge branch 'FMH' into devel 2016-04-21 14:04:39 +02:00
Alan Plum e7e457b560
ES6ify 2016-04-20 18:34:46 +02:00
Alan Plum a3d5c64532
Object.extend is not a function 2016-04-20 18:13:04 +02:00
Alan Plum 0529471cdc
Allow passing an error to res.throw as reason 2016-04-20 18:11:49 +02:00
Alan Plum 96aa1d9129
Add req.json 2016-04-20 17:18:51 +02:00
Alan Plum 7065d29975
Don't add default bodies 2016-04-20 17:18:51 +02:00
Alan Plum 2b0c1f6f9a
_.extend -> Object.assign 2016-04-20 15:23:03 +02:00
Alan Plum 0fff3e661f
_.extend -> Object.assign 2016-04-20 15:23:03 +02:00
Alan Plum 249dddcdf4
Optionally auto-update collection sessions 2016-04-20 15:23:02 +02:00
Alan Plum e7c0a49cfb
Don't use session.userData in system, always update lastAccess 2016-04-20 15:23:01 +02:00
Alan Plum 50ae4804f6
Spacing 2016-04-20 15:23:00 +02:00
Kaveh Vahedipour d53e47c7d5 Merge branch 'devel' of https://github.com/arangodb/arangodb into FMH 2016-04-20 11:23:10 +00:00
Alan Plum 8b7a98f2e8
global.aqlQuery -> arangodb.aql 2016-04-20 13:05:27 +02:00
Frank Celler 3bb24146a6 Merge branch 'devel' of github.com:arangodb/arangodb into FMH 2016-04-19 19:18:02 -07:00
Alan Plum 494d5d5855
Foxx.getExports -> legacy 2016-04-19 18:16:18 +02:00
Alan Plum 17854b57a8
Formatting 2016-04-19 18:16:18 +02:00
Alan Plum 7b76519bbe
Allow res.throw(status, args) 2016-04-19 18:16:18 +02:00
Alan Plum 8a114a58d3
queues.js -> queues/index.js 2016-04-19 18:16:18 +02:00
Alan Plum 4c3319de25
Extract session storage.save
Also fix transports
2016-04-19 15:06:55 +02:00
Kaveh Vahedipour 87bc35068b FHM merge from devel 2016-04-19 09:59:33 +00:00
Alan Plum ffcbd0a69e
Fix require tests 2016-04-19 09:29:24 +02:00
Frank Celler 007fe8e053 Merge branch 'devel' of https://github.com/arangodb/arangodb into FMH
Conflicts:
	arangod/Agency/Constituent.cpp
	arangod/Agency/RestAgencyHandler.cpp
	arangod/Aql/Query.cpp
	arangod/Aql/grammar.cpp
	arangod/RestHandler/RestSimpleQueryHandler.cpp
	arangod/RestServer/ArangoServer.cpp
	js/client/modules/@arangodb/testing.js
2016-04-19 07:44:00 +02:00
Alan Plum 051a153252
@arangodb/foxx -> @arangodb/foxx/legacy 2016-04-18 18:01:08 +02:00
Alan Plum c39eca49e4
Add require.aliases 2016-04-18 18:01:06 +02:00
Alan Plum 9f25f44a87
Don't check the Foxx store unless you actually need it 2016-04-18 18:01:06 +02:00
Alan Plum 02ee7c5489
Fix Foxx session transports error message 2016-04-18 18:01:04 +02:00
Alan Plum 4b509adf15
Nicer warnings/errors 2016-04-18 18:01:04 +02:00
Alan Plum 39754d700f
Unbreaky aardvark 2016-04-18 18:01:01 +02:00
Alan Plum 2382e6a6a7
Foxx services should survive even if API docs are broken 2016-04-18 18:01:00 +02:00
Alan Plum 96d0f5f4ab
QueryParam and friends should allow omitting schemas 2016-04-18 18:00:59 +02:00
Alan Plum 8224153c72
Prettier JSON responses in dev mode 2016-04-18 18:00:58 +02:00
Alan Plum 7bef673ef8
Fix empty descriptions in swagger 2016-04-18 18:00:58 +02:00
Alan Plum 46822f2335
Split body parsing and validation, add error cause 2016-04-18 18:00:56 +02:00
Alan Plum 7364c428e7
Add SyntheticRequest#database 2016-04-18 18:00:55 +02:00
Alan Plum aaaa3ca8f8
Add SyntheticResponse#throw 2016-04-18 18:00:54 +02:00
Alan Plum 106f14cffb
Nicer route error logging logic 2016-04-18 18:00:54 +02:00
Alan Plum b475e3cc09
Allow passing swagger object to swagger handler 2016-04-18 18:00:53 +02:00
Alan Plum b82f29fb42
Disable removed system services 2016-04-18 18:00:50 +02:00
Alan Plum 3fdd0a90e2
Better handle wrapped errors in Foxx 2016-04-18 18:00:49 +02:00
Alan Plum 30d6200a60
Allow passing strings as status code in some cases 2016-04-18 18:00:48 +02:00
Alan Plum 64d2b38025
Add _system sessions storage 2016-04-18 18:00:47 +02:00
Alan Plum 9e021cbc57
Fix transport.set call in sessions middleware 2016-04-18 18:00:46 +02:00
Alan Plum 5a3e42e289
Service#thumbnail should use path instead of base64 2016-04-18 18:00:46 +02:00
Alan Plum edbe1e966c
Add createSwaggerHandler to context 2016-04-18 18:00:45 +02:00
Alan Plum f13a827158
Fix new swagger 2016-04-18 18:00:45 +02:00
Alan Plum f6a0e4619d
Allow clearing removed sessions in transport 2016-04-18 18:00:45 +02:00
Alan Plum fbd2f3203a
Only serialize session if it is set 2016-04-18 18:00:44 +02:00
Alan Plum 5d69166a89
Fix cookie session transport signing 2016-04-18 18:00:44 +02:00
Alan Plum ef88a9d6eb
Consistency with args 2016-04-18 18:00:43 +02:00
Alan Plum 2dcadc06ea
Request path should be relative to service mount 2016-04-18 18:00:43 +02:00
Alan Plum a53e211452
Nested routers should allow sloppy paths too 2016-04-18 18:00:42 +02:00
Alan Plum 6473209430
Fix hasOwnProperty call 2016-04-18 18:00:42 +02:00
Alan Plum 40d66f932d
Allow defaultDocument but no default 2016-04-18 18:00:42 +02:00
Alan Plum f7f841c7c9
If auth config is a string, it's a method 2016-04-18 18:00:42 +02:00
Alan Plum 438b50e652
Extend Foxx session storage a bit 2016-04-18 18:00:41 +02:00
Alan Plum 989f87f732
Allow adding extra fields to error response from exception 2016-04-18 18:00:41 +02:00
Alan Plum 1430e24c3d
Linting 2016-04-18 18:00:41 +02:00
Alan Plum 4c42cc3e2f
Add FOTF swagger 2016-04-18 18:00:40 +02:00
Alan Plum 898f9bdcac
Move swagger into Foxx legacy 2016-04-18 18:00:40 +02:00
Alan Plum 80f7ffe876
Move OAuth2 into Foxx 2016-04-18 18:00:40 +02:00
Alan Plum 6c0cdeb4f1
Move simple-auth into Foxx 2016-04-18 18:00:40 +02:00
Alan Plum bb6b05b724
Make header transport API consistent with cookie 2016-04-18 18:00:39 +02:00
Alan Plum 5dfdd74c74
Add session collectionStorage 2016-04-18 18:00:39 +02:00
Alan Plum cae8a6607b
Add ServerRequest#params 2016-04-18 18:00:39 +02:00
Alan Plum 71ea230d4f
Fix defaultDocument in Foxx legacy
Opt-out values (i.e. empty strings) are now handled correctly again.
2016-04-18 18:00:38 +02:00
Alan Plum 9cf8d347ad
More SyntheticResponse tests 2016-04-18 18:00:38 +02:00
Alan Plum 21a1720d86
Add SyntheticResponse tests 2016-04-18 18:00:37 +02:00
Alan Plum 18ff55b7dd
Add SyntheticRequest tests 2016-04-18 18:00:37 +02:00
Alan Plum 2993b73c25
More SyntheticRequest tests 2016-04-18 18:00:37 +02:00
Alan Plum 15388552f9
Formatting 2016-04-18 18:00:36 +02:00
Alan Plum ee90edfe45
Fix SyntheticRequest 2016-04-18 18:00:36 +02:00
Alan Plum 83bd3f4ace
Allow manual mime types in manifest
Fixes #1702.
2016-04-18 18:00:36 +02:00
Alan Plum 926f02ace5
Use mime-types 2016-04-18 18:00:35 +02:00
Alan Plum 5a6fa4a253
Generator should support edge collections
Fixes #1718.
2016-04-18 18:00:35 +02:00
Alan Plum ab0db4e414
Actually don't add 200 response by default 2016-04-18 18:00:35 +02:00
Alan Plum 72f65bd8e3
Response description -> reason 2016-04-18 18:00:34 +02:00
Alan Plum 5b4b3852ad
Better default 200 response 2016-04-18 18:00:34 +02:00
Alan Plum dcc2101d09
Yak shave 2016-04-18 18:00:34 +02:00
Alan Plum 22a8b5ec65
Add util.inline 2016-04-18 18:00:34 +02:00
Alan Plum b01a3da328
Fix swagger responses 2016-04-18 18:00:33 +02:00
Alan Plum 6bc2a10867
Fixup generator 2016-04-18 18:00:33 +02:00
Alan Plum a31bf33892
Basic swagger tests 2016-04-18 18:00:33 +02:00
Alan Plum a71fc92c6f
Add default body/response descriptions 2016-04-18 18:00:33 +02:00
Alan Plum 248e8e747e
Response descriptions are mandatory in Swagger 2016-04-18 18:00:32 +02:00
Alan Plum d7f514693b
Implement name reversal 2016-04-18 18:00:32 +02:00
Alan Plum bd4bc8eb96
SyntheticRequest: add baseUrl and makeAbsolute 2016-04-18 18:00:31 +02:00
Alan Plum 31526a8227
Clean up templates 2016-04-18 18:00:31 +02:00
Alan Plum b8d082941a
Fix legacy swagger 2016-04-18 18:00:31 +02:00
Alan Plum 4f2dc536ee
Tightening
Convert some lets to consts and eliminate the redundancy in Router.
2016-04-18 18:00:31 +02:00
Alan Plum 1f347b3145
Update license headers 2016-04-18 18:00:30 +02:00
Alan Plum 2ff1371e19
Port Foxx service generator to FOTF 2016-04-18 18:00:30 +02:00
Alan Plum d971780ba8
Make routing actually work 2016-04-18 18:00:30 +02:00
Alan Plum d2d62a97bc
Make FOTF swagger docs visible to Foxx Swagger 2016-04-18 18:00:30 +02:00
Alan Plum 8d2cc4041d
Implement request/response body handling 2016-04-18 18:00:29 +02:00
Alan Plum 24ab288d57
Move body handling into dispatch 2016-04-18 18:00:28 +02:00
Alan Plum d23f42fafc
No response schema if no response type 2016-04-18 18:00:28 +02:00
Alan Plum 3b3bfcbd95
If status 200 is set to no response, imply 204 2016-04-18 18:00:28 +02:00
Alan Plum 1197b6fa22
Use default schema for default response 2016-04-18 18:00:28 +02:00
Alan Plum 47d9ab07f4
Nevermind response headers for now 2016-04-18 18:00:27 +02:00
Alan Plum 21428c7f4b
Use joi-to-json-schema 2016-04-18 18:00:27 +02:00
Alan Plum bf253d07b3
Add operation.responses 2016-04-18 18:00:27 +02:00
Alan Plum a00ac0d96f
Swaggerify route params 2016-04-18 18:00:26 +02:00
Alan Plum d810a335ac
Better handle response/request body docs 2016-04-18 18:00:26 +02:00
Alan Plum ff0bf1a182
Add basic swagger generator stub 2016-04-18 18:00:26 +02:00
Alan Plum 91cfcb2fc9
Add SwaggerContext#_merge 2016-04-18 18:00:25 +02:00
Alan Plum 8ab3e4a161
Add tokenize.reverse 2016-04-18 18:00:25 +02:00
Alan Plum bfe66a4ad0
SwaggerContext#response per status code 2016-04-18 18:00:25 +02:00
Alan Plum 27c203bbb2
SwaggerContext should treat missing path as empty 2016-04-18 18:00:25 +02:00
Alan Plum 244345d178
SyntheticRequest#originalUrl should encode db 2016-04-18 18:00:25 +02:00
Alan Plum 314d19d20d
Extract router tree 2016-04-18 18:00:24 +02:00
Alan Plum 2633b0109b
Extract dispatch from router 2016-04-18 18:00:24 +02:00
Alan Plum 95dea0cd14
Yakshaving 2016-04-18 18:00:24 +02:00
Alan Plum 572952864c
Expose service context in request obj 2016-04-18 18:00:24 +02:00
Alan Plum 0156051c37
Basic implementation of SyntheticResponse 2016-04-18 18:00:23 +02:00
Alan Plum 9e3833eadd
Basic implementation of SyntheticRequest
Fixes #1191.
2016-04-18 18:00:23 +02:00
Alan Plum 5ba054210b
Fix router.resolve (req.method => req.requestType) 2016-04-18 18:00:23 +02:00
Alan Plum 34a1835532
Fix legacy mode applicationContext injection 2016-04-18 18:00:23 +02:00
Alan Plum aa4b41763e
Yakshaving
Naming things is hard.
2016-04-18 18:00:22 +02:00
Alan Plum 12e27cac00
Implement queryParam & body validation 2016-04-18 18:00:22 +02:00
Alan Plum 4b0fd593ce
Implement rudimentary route handling 2016-04-18 18:00:22 +02:00
Alan Plum 6637a0cd16
Make more route context attributes private 2016-04-18 18:00:21 +02:00
Alan Plum 8230d73406
More versatile route lookup 2016-04-18 18:00:21 +02:00
Alan Plum 6e6a9a3918
Add more tests & fix middleware resolution 2016-04-18 18:00:21 +02:00
Alan Plum 6ea15298bd
Partially implement routing for Foxx 2016-04-18 18:00:21 +02:00
Alan Plum e78e6476ab
Implement routing logic for router 2016-04-18 18:00:20 +02:00
Alan Plum 7bf1e5e502
Add router to Foxx services
Fixes #1189.
2016-04-18 18:00:20 +02:00
Alan Plum 8260da9d35
Implement basic router
Fixes #1164.
Fixes #1759.
2016-04-18 18:00:20 +02:00
Alan Plum 4495a2edc8
Implement session middleware 2016-04-18 18:00:20 +02:00
Alan Plum c934cbc9f2
Implement mounting legacy apps 2016-04-18 18:00:19 +02:00
Alan Plum bc0b5d40c4
Remove context._prefix 2016-04-18 18:00:19 +02:00
Alan Plum 5f91c5399c
Tidy up manifest props 2016-04-18 18:00:19 +02:00
Alan Plum 54fb1a73d8
foxx -> foxx/legacy 2016-04-18 18:00:19 +02:00
Alan Plum 0cfa0ed953
foxx.js -> foxx/index.js 2016-04-18 18:00:18 +02:00
Alan Plum 443ebe42f8
Enable applicationContext for legacy apps 2016-04-18 18:00:18 +02:00
Alan Plum 6a217bc9f7
Remove module.context.foxxFilename 2016-04-18 18:00:18 +02:00
Alan Plum 5161c63670
Remove magical Foxx comments 2016-04-18 18:00:18 +02:00
Alan Plum 54f27f51a2
Expose module.context.service 2016-04-18 18:00:18 +02:00
Alan Plum 4140c26d30
Use symbols for internal module props 2016-04-18 18:00:17 +02:00
Alan Plum c7688a72f8
module.requireCache -> module.require.cache 2016-04-18 18:00:17 +02:00
Alan Plum eacf570a39
applicationContext -> module.context 2016-04-18 18:00:17 +02:00