loolwsd/DocumentBroker.hpp | 37 ++++--------------------------------- 1 file changed, 4 insertions(+), 33 deletions(-)
New commits: commit 1aa7a6cf05526282f93516713a1bfee143e1c3f8 Author: Ashod Nakashian <[email protected]> Date: Sun Mar 13 10:05:40 2016 -0400 loolwsd: simplified DocumentBroker::create Change-Id: Ia97be0861c7c178859d695ae5e2862e88cb3ca77 Reviewed-on: https://gerrit.libreoffice.org/23221 Reviewed-by: Ashod Nakashian <[email protected]> Tested-by: Ashod Nakashian <[email protected]> diff --git a/loolwsd/DocumentBroker.hpp b/loolwsd/DocumentBroker.hpp index f4fc674..544efbb 100644 --- a/loolwsd/DocumentBroker.hpp +++ b/loolwsd/DocumentBroker.hpp @@ -27,8 +27,10 @@ class DocumentBroker public: static - Poco::URI getUri(std::string uri) + std::shared_ptr<DocumentBroker> create(std::string uri, const std::string& childRoot) { + Log::info("Creating DocumentBroker for uri: " + uri + "."); + // The URI of the document is url-encoded // and passed in our URL. if (uri.size() > 1 && uri[0] == '/') @@ -47,42 +49,11 @@ public: uriPublic.normalize(); } - Log::info("Public URI [" + uriPublic.toString() + "]."); if (uriPublic.getPath().empty()) { throw std::runtime_error("Invalid URI."); } - return uriPublic; - } - - static - std::shared_ptr<DocumentBroker> create(const std::string& uri, const std::string& childRoot) - { - std::string decodedUri; - Poco::URI::decode(uri, decodedUri); - auto uriPublic = Poco::URI(decodedUri); - - if (uriPublic.isRelative() || uriPublic.getScheme() == "file") - { - // TODO: Validate and limit access to local paths! - uriPublic.normalize(); - } - - Log::info("Public URI [" + uriPublic.toString() + "]."); - if (uriPublic.getPath().empty()) - { - throw std::runtime_error("Invalid URI."); - } - - return create(uriPublic, childRoot); - } - - static - std::shared_ptr<DocumentBroker> create(const Poco::URI& uriPublic, const std::string& childRoot) - { - Log::info("Creating DocumentBroker for uri: " + uriPublic.toString()); - std::string docKey; Poco::URI::encode(uriPublic.getPath(), "", docKey); @@ -168,7 +139,7 @@ private: { assert(!_docKey.empty()); assert(!_childRoot.empty()); - Log::info("DocumentBroker [" + _uriPublic.toString() + "] created."); + Log::info("DocumentBroker [" + _uriPublic.toString() + "] created. DocKey: [" + _docKey + "]"); } private: _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
