summaryrefslogtreecommitdiff
path: root/server/src
AgeCommit message (Collapse)Author
2017-02-27[style] move path config closer to blobs resource instantiationdrebs
2017-02-27[feat] add configurable blobs path in serverdrebs
- Resolves: #8777
2017-02-17[bug] reuse wsgi threadpoolKali Kaneko
it seems evident that the functions were thought to pass a threadpool along, but it finally wasn't properly passed and so there was a new threadpool created to handle every resource. I have removed the creation from the factory because I don't think it makes sense to create a threadpool on the fly, it's prone to errors. - Resolves: #8774
2017-02-17[refactor] create resources only onceKali Kaneko
it doesn't make sense to create the resources for every request, we can reuse the same resource and create it in the constructor. - Resolves: #8770
2017-02-15[style] pep8Victor Shyba
2017-02-15[tests] fix testsKali Kaneko
2017-02-15[docs] add a to-do about perfKali Kaneko
2017-02-15[feature] add robots.txtKali Kaneko
-Resolves: #6178
2017-02-15[feature] authenticate as anonymous if no token in headerKali Kaneko
and serve / banner and robots to anon users. instead of returning 401 for all cases, I treat the unauthenticated case as a special case, and switch the service tree apart. this allows to serve a different resource tree to unauthenticated users. the new URLs are registered with the mapper. I don't really like that dependency, could be handled by twisted alone, but meh. - Resolves: #8764
2017-02-15[feature] add version to the bannerKali Kaneko
2017-02-15[bug] add expected attribute to authentication wrapper in entrypointKali Kaneko
the authentication wrapper is goin to look for the _credentialFactories attribute. it will raise an exception if not found - Resolves: #8766
2017-02-13[bug] get a new server instance on each request to the tokens dbKali Kaneko
2017-02-12[refactor] update create-user-db script to use config refactorKali Kaneko
2017-02-10[bug] fix config handling after refactorKali Kaneko
2017-02-10[bug] revert loading from the wsgi entrypointKali Kaneko
2017-02-10[bug] effectively load the configuration for the appKali Kaneko
the code for passing the configuration to the couch initialization was never called. it seems the entrypoint module wasn't finally hooked as expected. I think this fixes the problem, but further review is needed here: either the entrypoint module is to be used, or it better is removed. in the first case, this workaround probably needs to be reverted.
2017-02-10[bug] fix import for the session moduleKali Kaneko
2017-02-09[refactor] parametrize blobs toggling in soledad server resourcedrebs
2017-02-09[refacor] make proper use of twisted web dyamic resources in serverdrebs
2017-02-09[refactor] allow passing threadpool pool for server sync resourcedrebs
2017-02-09[feature] announce server blobs capabilitiesdrebs
- add a new ServerInfo resource for / - move entrypoint to its own module
2017-02-09[refactor] rename server auth classesdrebs
2017-02-09[feature] add server config option for blobsdrebs
2017-02-09[feature] add server config option for blobsdrebs
2017-02-09[bug] Fix import for load_configuration on migration scriptThais Siqueira
2017-02-09[refactor] allow passing threadpool pool for server sync resourcedrebs
Conflicts: server/src/leap/soledad/server/_resource.py testing/tests/server/test__resource.py
2017-02-09[refactor] move wsgi sync setup to its own moduledrebs
Conflicts: server/src/leap/soledad/server/_wsgi.py server/src/leap/soledad/server/entrypoint.py server/src/leap/soledad/server/resource.py testing/tests/server/test__resource.py
2017-02-09[test] fix session and auth testsdrebs
2017-02-09[test] add tests for server auth sessiondrebs
2017-02-09[test] add tests for server authdrebs
2017-02-09[refactor] remove twisted session persistencedrebs
The need for token caching in server is a matter of debate, as is the ideal way to do it. Twisted sessions store the session id in a cookie and use that session id to persist. It is not clear if that implementation is needed, works with future features (as multiple soledad servers) or represents a security problem in some way. Because of these, this commit removes it for now. The feature is left in git history so we can bring it back later if needed.
2017-02-09[bug] fix name of module on importdrebs
2017-02-09[refactor] separate url mapper, avoid hanging testsdrebs
Because the wsgi resource has its own threadpool, tests might get confused when shutting down and the reactor may get clogged waiting for the threadpool to be stopped. By refactoring the URLMapper to its own module, server tests can avoid loading the resource module, where the wsgi threadpool resides, so the threapool will not be started.
2017-02-09[feat] cache session data in serverdrebs
2017-02-09[feat] use twisted web http auth and credsdrebs
2017-02-09[feat] reuse the url mapper instead of creating it for every requestdrebs
2017-02-09[bug] disallow all requests to "user-{uuid}/"drebs
2016-12-17[pkg] use a twisted resource as server entrypointdrebs
2016-12-12[bug] enable batching againVictor Shyba
Something happened during rebase. This configuration is supposed to be True by default now.
2016-12-12[refactor] remove dead parameters, improve commentsVictor Shyba
received docs makes no sense for a single request download, plus all its comments and docstrings. Also updated docstrings for other methods. The method that tests if sqlcipher is encrypted can return a db handle that can be used right away. If we ignore it and reopen we can end up with a lost open cursor.
2016-12-12[style] explicit unlimited request sizeVictor Shyba
Request size on a stream can't be measured upfront and a limit doesn't make much sense. The real limit is user's Quota, to be implemented.
2016-12-12[refactor] simplify server insertVictor Shyba
Moved out magic numbers into a constant and simplified logic during doc upload.
2016-12-12[bug] remove print debug statementsKali Kaneko
2016-12-12[bug] fix bad merge in imports blockKali Kaneko
2016-12-12[refactor] adapt fetcher to decryptorKali Kaneko
2016-12-12[feature] batch based on payload sizeVictor Shyba
batch is slower than usual insert for a single doc, so, if a document exceeds the buffer, commit the batch (if any) and put the huge load by traditional insert. refactor coming.
2016-12-12[feature] stream content in a separate lineVictor Shyba
This allow different paths for raw data and metadata, avoiding unnecessary json parsing.
2016-12-12[feature] make the test accept large uploadsVictor Shyba
We enabled chunking, which means that a use can upload his entire db on a single request. This commit makes server enable this and throttle download as Twisted cant control the payload producer code as its synchronous and blocking code.
2016-12-12[feature] upload streamingVictor Shyba
1) enable HTTP 1.1 chunked upload on server 2) make the client sync.py generate a list of function calls instead of a list of full docs 3) disable encryption pool 4) make the doc encryption a list of function calls 5) create a twisted protocol for sending 6) make a producer that calls the doc generation as necessary
2016-12-12[feature] streaming download protocolVictor Shyba
This commit finishes reversion into u1db original streaming protocol for downloads.