1
// Copyright (C) 2016 Canonical Ltd.
3
// This library is free software: you can redistribute it and/or modify
4
// it under the terms of the GNU Lesser General Public License as published
5
// by the Free Software Foundation, either version 3 of the License, or
6
// (at your option) any later version.
8
// This program is distributed in the hope that it will be useful,
9
// but WITHOUT ANY WARRANTY; without even the implied warranty of
10
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
// GNU General Public License for more details.
13
// You should have received a copy of the GNU Lesser General Public License
14
// along with this program. If not, see <http://www.gnu.org/licenses/>.
15
#include <ichnaea/error.h>
19
ichnaea::Error::Error(core::net::http::Status code, const std::string& message)
20
: std::runtime_error{message}, code{code}, message{message}
24
std::ostream& ichnaea::operator<<(std::ostream& out, const Error& error)
26
out << error.code << ", " << error.message << std::endl;
27
for (const Error::Detail& detail : error.errors)
28
out << " " << detail.domain << ", " << detail.message << ", " << detail.reason << std::endl;