Dont force http server implementation to have cert copy in vector BUG:24267885 Change-Id: Ic9d0ffecb9ea6b4caf0836372fae6565637c289c Reviewed-on: https://weave-review.googlesource.com/1272 Reviewed-by: Alex Vakulenko <avakulenko@google.com>
diff --git a/libweave/examples/ubuntu/event_http_server.cc b/libweave/examples/ubuntu/event_http_server.cc index 4a7156a..8129c4f 100644 --- a/libweave/examples/ubuntu/event_http_server.cc +++ b/libweave/examples/ubuntu/event_http_server.cc
@@ -212,8 +212,7 @@ return 7781; } -const std::vector<uint8_t>& HttpServerImpl::GetHttpsCertificateFingerprint() - const { +std::vector<uint8_t> HttpServerImpl::GetHttpsCertificateFingerprint() const { return cert_fingerprint_; }
diff --git a/libweave/examples/ubuntu/event_http_server.h b/libweave/examples/ubuntu/event_http_server.h index 82c51dd..8be3716 100644 --- a/libweave/examples/ubuntu/event_http_server.h +++ b/libweave/examples/ubuntu/event_http_server.h
@@ -32,7 +32,7 @@ const OnRequestCallback& callback) override; uint16_t GetHttpPort() const override; uint16_t GetHttpsPort() const override; - const std::vector<uint8_t>& GetHttpsCertificateFingerprint() const override; + std::vector<uint8_t> GetHttpsCertificateFingerprint() const override; private: void GenerateX509();
diff --git a/libweave/include/weave/provider/http_server.h b/libweave/include/weave/provider/http_server.h index 44c3e1d..e1eb30d 100644 --- a/libweave/include/weave/provider/http_server.h +++ b/libweave/include/weave/provider/http_server.h
@@ -41,8 +41,7 @@ virtual uint16_t GetHttpPort() const = 0; virtual uint16_t GetHttpsPort() const = 0; - virtual const std::vector<uint8_t>& GetHttpsCertificateFingerprint() - const = 0; + virtual std::vector<uint8_t> GetHttpsCertificateFingerprint() const = 0; protected: virtual ~HttpServer() = default;
diff --git a/libweave/include/weave/provider/test/mock_http_server.h b/libweave/include/weave/provider/test/mock_http_server.h index c6fc755..95988ac 100644 --- a/libweave/include/weave/provider/test/mock_http_server.h +++ b/libweave/include/weave/provider/test/mock_http_server.h
@@ -23,7 +23,7 @@ MOCK_CONST_METHOD0(GetHttpPort, uint16_t()); MOCK_CONST_METHOD0(GetHttpsPort, uint16_t()); - MOCK_CONST_METHOD0(GetHttpsCertificateFingerprint, std::vector<uint8_t>&()); + MOCK_CONST_METHOD0(GetHttpsCertificateFingerprint, std::vector<uint8_t>()); }; } // namespace test
diff --git a/libweave/src/weave_unittest.cc b/libweave/src/weave_unittest.cc index b6f9207..4eef7d4 100644 --- a/libweave/src/weave_unittest.cc +++ b/libweave/src/weave_unittest.cc
@@ -200,7 +200,7 @@ EXPECT_CALL(http_server_, GetHttpPort()).WillRepeatedly(Return(11)); EXPECT_CALL(http_server_, GetHttpsPort()).WillRepeatedly(Return(12)); EXPECT_CALL(http_server_, GetHttpsCertificateFingerprint()) - .WillRepeatedly(ReturnRefOfCopy(std::vector<uint8_t>{1, 2, 3})); + .WillRepeatedly(Return(std::vector<uint8_t>{1, 2, 3})); EXPECT_CALL(http_server_, AddRequestHandler(_, _)) .WillRepeatedly( Invoke([this](const std::string& path_prefix,