blob: f33106df38e352783cb5a848614831a28244b24b [file] [log] [blame] [edit]
#ifndef PRODUCTION_BORG_MGMT_NODE_PROXY_SAFEPOWER_SAFEPOWER_AGENT_BMC_REDFISH_H_
#define PRODUCTION_BORG_MGMT_NODE_PROXY_SAFEPOWER_SAFEPOWER_AGENT_BMC_REDFISH_H_
#include <cstdint>
#include "absl/functional/any_invocable.h"
#include "absl/status/statusor.h"
#include "absl/strings/string_view.h"
#include "nlohmann/json_fwd.hpp"
namespace safepower_agent {
// This file provides a wrapper around HttpConnection for making Redfish calls.
namespace Redfish {
void Get(absl::string_view target,
absl::AnyInvocable<void(absl::StatusOr<nlohmann::json>) &&> callback,
absl::string_view ip = "127.0.0.1", uint16_t port = 80);
void Post(absl::string_view target,
absl::AnyInvocable<void(absl::StatusOr<nlohmann::json>) &&> callback,
const nlohmann::json& body,
absl::string_view ip = "127.0.0.1", uint16_t port = 80);
} // namespace Redfish
} // namespace safepower_agent
#endif // PRODUCTION_BORG_MGMT_NODE_PROXY_SAFEPOWER_SAFEPOWER_AGENT_BMC_REDFISH_H_