diff --git a/common/cpp/include/common/version.h.in b/common/cpp/include/common/version.h.in index 15ecfac7b56a8241c3ac215e6c95aa644e8a904b..1ca92fd870aeecf79f17f29907c7b3d452cee070 100644 --- a/common/cpp/include/common/version.h.in +++ b/common/cpp/include/common/version.h.in @@ -2,13 +2,17 @@ #define ASAPO_VERSION_H #include <iostream> +#include "string.h" namespace asapo { const char kVersion[] = "@VERSION@"; -inline void PrintVersion(std::string prefix) { - std::cout << prefix << ", version " << kVersion << std::endl; +inline void ExitAfterPrintVersionIfNeeded(std::string prefix,int argc, char* argv[]) { + if (argc == 2 && strcmp(argv[1], "-v") == 0) { + std::cout << prefix << ", version " << kVersion << std::endl; + exit(0); + } } } diff --git a/examples/producer/dummy-data-producer/dummy_data_producer.cpp b/examples/producer/dummy-data-producer/dummy_data_producer.cpp index c2936de2f232a6060f194e5d1ba2d043a48dc296..80b010f4c242bf0fd14a3906e3e127e3a082c1d2 100644 --- a/examples/producer/dummy-data-producer/dummy_data_producer.cpp +++ b/examples/producer/dummy-data-producer/dummy_data_producer.cpp @@ -35,7 +35,7 @@ void PrintCommandArguments(const Args& args) { void ProcessCommandArguments(int argc, char* argv[], Args* args) { - asapo::PrintVersion("Dummy Data Producer"); + asapo::ExitAfterPrintVersionIfNeeded("Dummy Data Producer", argc, argv); if (argc != 8) { std::cout << "Usage: " << argv[0] << diff --git a/examples/worker/getnext_broker/getnext_broker.cpp b/examples/worker/getnext_broker/getnext_broker.cpp index 0a08959dc2946e03c5621ee1326873aa9d209c99..84cbe726fd0d444d3ab1c76d14b830eab050767b 100644 --- a/examples/worker/getnext_broker/getnext_broker.cpp +++ b/examples/worker/getnext_broker/getnext_broker.cpp @@ -79,7 +79,7 @@ int ReadAllData(const Params& params, uint64_t* duration_ms) { } int main(int argc, char* argv[]) { - asapo::PrintVersion("GetNext Broker Example"); + asapo::ExitAfterPrintVersionIfNeeded("GetNext Broker Example", argc, argv); if (argc != 6) { std::cout << "Usage: " + std::string{argv[0]} +" <server> <run_name> <nthreads> <token> <timeout ms>" << std::endl; exit(EXIT_FAILURE); diff --git a/examples/worker/process_folder/process_folder.cpp b/examples/worker/process_folder/process_folder.cpp index 5adb1bc1fa331ad374f0eed169e0ffc4a29b9645..63a6955dd066b4c616e3b054c5aea1551b6dae54 100644 --- a/examples/worker/process_folder/process_folder.cpp +++ b/examples/worker/process_folder/process_folder.cpp @@ -84,7 +84,7 @@ void PrintStatistics(const Statistics& statistics) { int main(int argc, char* argv[]) { - asapo::PrintVersion("Process Folder Broker Example"); + asapo::ExitAfterPrintVersionIfNeeded("Process Folder Broker Example", argc, argv); std::string folder = ProcessCommandArguments(argc, argv); auto broker = CreateBroker(folder); diff --git a/producer/event_monitor_producer/src/main_eventmon.cpp b/producer/event_monitor_producer/src/main_eventmon.cpp index 3e4d677f7d342ac5a6069454d0ccbdb48c5911ad..4191bfbd4648f0642a825a839fdb33a93156d2ac 100644 --- a/producer/event_monitor_producer/src/main_eventmon.cpp +++ b/producer/event_monitor_producer/src/main_eventmon.cpp @@ -74,7 +74,7 @@ void SignalHandler(int signal) { int main (int argc, char* argv[]) { - asapo::PrintVersion("ASAPO Event Monitor"); + asapo::ExitAfterPrintVersionIfNeeded("ASAPO Event Monitor", argc, argv); auto err = ReadConfigFile(argc, argv); if (err) { @@ -96,7 +96,7 @@ int main (int argc, char* argv[]) { auto producer = CreateProducer(); asapo::EventDetectorFactory factory; auto event_detector = factory.CreateEventDetector(); - + logger->Info(std::string("starting ASAPO Event Monitor, version ") + asapo::kVersion); err = event_detector->StartMonitoring(); if (err) { logger->Error(err->Explain()); diff --git a/receiver/src/main.cpp b/receiver/src/main.cpp index c0e6af486dfbb2eac2a37dd60862002a62a403e0..72d45a960aeb3ff907b929fcf52c4f581e18d910 100644 --- a/receiver/src/main.cpp +++ b/receiver/src/main.cpp @@ -17,7 +17,7 @@ asapo::Error ReadConfigFile(int argc, char* argv[]) { } int main (int argc, char* argv[]) { - asapo::PrintVersion("ASAPO Receiver"); + asapo::ExitAfterPrintVersionIfNeeded("ASAPO Receiver", argc, argv); auto err = ReadConfigFile(argc, argv); const auto& logger = asapo::GetDefaultReceiverLogger(); @@ -35,6 +35,7 @@ int main (int argc, char* argv[]) { auto* receiver = new asapo::Receiver(); + logger->Info(std::string("starting receiver, version ") + asapo::kVersion); logger->Info("listening on " + address); receiver->Listen(address, &err); if(err) { diff --git a/receiver/src/request_handler_authorize.cpp b/receiver/src/request_handler_authorize.cpp index 597584601c01f0646920239b85a55574c2418418..00f932b8270983e447636d5a6071168ea6b96726 100644 --- a/receiver/src/request_handler_authorize.cpp +++ b/receiver/src/request_handler_authorize.cpp @@ -48,6 +48,9 @@ Error RequestHandlerAuthorize::Authorize(Request* request, const char* beamtime_ (err = parser.GetString("Beamline", &beamline_)); if (err) { return ErrorFromServerResponse(err, code); + } else { + log__->Debug(std::string("authorized connection from ") + request->GetOriginUri() + " beamline: " + + beamline_ + ", beamtime id: " + beamtime_id_); } return nullptr; diff --git a/receiver/unittests/test_request_handler_authorizer.cpp b/receiver/unittests/test_request_handler_authorizer.cpp index 3fabc8000510bdcf6a569771144b35a612e29231..f6523f2815639fb68b8c12f85b311904ef18f1fe 100644 --- a/receiver/unittests/test_request_handler_authorizer.cpp +++ b/receiver/unittests/test_request_handler_authorizer.cpp @@ -110,8 +110,12 @@ class AuthorizerHandlerTests : public Test { HasSubstr(expected_beamtime_id), HasSubstr(expected_producer_uri), HasSubstr(expected_authorization_server)))); + } else { + EXPECT_CALL(mock_logger, Debug(AllOf(HasSubstr("authorized"), + HasSubstr(expected_beamtime_id), + HasSubstr(expected_beamline), + HasSubstr(expected_producer_uri)))); } - }