~thomas-voss/location-service/next

« back to all changes in this revision

Viewing changes to 3rd-party/ichnaea/src/ichnaea/error.cpp

Merge lp:~thomas-voss/location-service/add-ichnaea-provider-next.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Copyright (C) 2016 Canonical Ltd.
 
2
// 
 
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.
 
7
// 
 
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.
 
12
// 
 
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>
 
16
 
 
17
#include <iostream>
 
18
 
 
19
ichnaea::Error::Error(core::net::http::Status code, const std::string& message)
 
20
    : std::runtime_error{message}, code{code}, message{message}
 
21
{
 
22
}
 
23
 
 
24
std::ostream& ichnaea::operator<<(std::ostream& out, const Error& error)
 
25
{
 
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;
 
29
    return out;
 
30
}