Makefile.am | 4 +--- robots.txt | 2 -- wsd/LOOLWSD.cpp | 29 +++++++++++++++++++++++++++++ 3 files changed, 30 insertions(+), 5 deletions(-)
New commits: commit 5bee6f7747c9ae232468e7c8a78e8c5bbd05188c Author: Andras Timar <andras.ti...@collabora.com> Date: Thu Feb 15 15:17:32 2018 +0100 wsd: handle request for robots.txt Change-Id: Ib82db2ee8c878e6a61b62b49ceaeb72e2d05718d Reviewed-on: https://gerrit.libreoffice.org/49819 Reviewed-by: Andras Timar <andras.ti...@collabora.com> Tested-by: Andras Timar <andras.ti...@collabora.com> (cherry picked from commit 8aa4a5145cafb7579105caafee4c127c97a010a4) Reviewed-on: https://gerrit.libreoffice.org/50004 Reviewed-by: Jan Holesovsky <ke...@collabora.com> Tested-by: Jan Holesovsky <ke...@collabora.com> diff --git a/Makefile.am b/Makefile.am index 199b73cb..e4c77325 100644 --- a/Makefile.am +++ b/Makefile.am @@ -14,8 +14,7 @@ dist_doc_DATA = wsd/README \ loolwsddatadir = @LOOLWSD_DATADIR@ loolwsddata_DATA = discovery.xml \ - favicon.ico \ - robots.txt + favicon.ico loolwsdconfigdir = @LOOLWSD_CONFIGDIR@ @@ -209,7 +208,6 @@ EXTRA_DIST = discovery.xml \ loolwsd.spec \ loolwsd.xml.in \ loolwsd.service \ - robots.txt \ sysconfig.loolwsd \ debian/compat \ debian/copyright \ diff --git a/robots.txt b/robots.txt deleted file mode 100644 index 1f53798b..00000000 --- a/robots.txt +++ /dev/null @@ -1,2 +0,0 @@ -User-agent: * -Disallow: / diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp index 83c4b1c2..3425774a 100644 --- a/wsd/LOOLWSD.cpp +++ b/wsd/LOOLWSD.cpp @@ -1825,6 +1825,10 @@ private: { handleWopiDiscoveryRequest(request); } + else if (request.getMethod() == HTTPRequest::HTTP_GET && request.getURI() == "/robots.txt") + { + handleRobotsTxtRequest(request); + } else { StringTokenizer reqPathTokens(request.getURI(), "/?", StringTokenizer::TOK_IGNORE_EMPTY | StringTokenizer::TOK_TRIM); @@ -1960,6 +1964,31 @@ private: LOG_INF("Sent discovery.xml successfully."); } + void handleRobotsTxtRequest(const Poco::Net::HTTPRequest& request) + { + LOG_DBG("HTTP request: " << request.getURI()); + const std::string mimeType = "text/plain"; + const std::string responseString = "User-agent: *\nDisallow: /\n"; + + std::ostringstream oss; + oss << "HTTP/1.1 200 OK\r\n" + << "Last-Modified: " << Poco::DateTimeFormatter::format(Poco::Timestamp(), Poco::DateTimeFormat::HTTP_FORMAT) << "\r\n" + << "User-Agent: " << WOPI_AGENT_STRING << "\r\n" + << "Content-Length: " << responseString.size() << "\r\n" + << "Content-Type: " << mimeType << "\r\n" + << "\r\n"; + + if (request.getMethod() == Poco::Net::HTTPRequest::HTTP_GET) + { + oss << responseString; + } + + std::shared_ptr<StreamSocket> socket = _socket.lock(); + socket->send(oss.str()); + socket->shutdown(); + LOG_INF("Sent robots.txt response successfully."); + } + static std::string getContentType(const std::string& fileName) { const std::string nodePath = Poco::format("//[@ext='%s']", Poco::Path(fileName).getExtension()); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits