Mercurial > hg > orthanc
diff Core/WebServiceParameters.cpp @ 2659:c27f7ecf9b54 jobs
cont
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 07 Jun 2018 12:24:17 +0200 |
parents | c196d76cb8fa |
children | eaf10085ffa1 |
line wrap: on
line diff
--- a/Core/WebServiceParameters.cpp Wed Jun 06 18:37:43 2018 +0200 +++ b/Core/WebServiceParameters.cpp Thu Jun 07 12:24:17 2018 +0200 @@ -34,8 +34,9 @@ #include "PrecompiledHeaders.h" #include "WebServiceParameters.h" -#include "../Core/Logging.h" -#include "../Core/OrthancException.h" +#include "Logging.h" +#include "OrthancException.h" +#include "SerializationToolbox.h" #if ORTHANC_SANDBOXED == 0 # include "../Core/SystemToolbox.h" @@ -274,12 +275,34 @@ void WebServiceParameters::Serialize(Json::Value& target) const { - throw OrthancException(ErrorCode_NotImplemented); + target = Json::objectValue; + target["URL"] = url_; + target["Username"] = username_; + target["Password"] = password_; + target["CertificateFile"] = certificateFile_; + target["CertificateKeyFile"] = certificateKeyFile_; + target["CertificateKeyPassword"] = certificateKeyPassword_; + target["PKCS11"] = pkcs11Enabled_; } - WebServiceParameters::WebServiceParameters(const Json::Value& serialized) + WebServiceParameters::WebServiceParameters(const Json::Value& serialized) : + advancedFormat_(true) { - throw OrthancException(ErrorCode_NotImplemented); + url_ = SerializationToolbox::ReadString(serialized, "URL"); + username_ = SerializationToolbox::ReadString(serialized, "Username"); + password_ = SerializationToolbox::ReadString(serialized, "Password"); + + std::string a, b, c; + a = SerializationToolbox::ReadString(serialized, "CertificateFile"); + b = SerializationToolbox::ReadString(serialized, "CertificateKeyFile"); + c = SerializationToolbox::ReadString(serialized, "CertificateKeyPassword"); + + if (!a.empty()) + { + SetClientCertificate(a, b, c); + } + + pkcs11Enabled_ = SerializationToolbox::ReadBoolean(serialized, "PKCS11"); } }