summaryrefslogtreecommitdiff
path: root/graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp')
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp113
1 files changed, 113 insertions, 0 deletions
diff --git a/graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp b/graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
new file mode 100644
index 0000000000..f97bbf8230
--- /dev/null
+++ b/graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
@@ -0,0 +1,113 @@
+// Copyright 2013-2016 Glyn Matthews.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef NETWORK_URI_ERRORS_INC
+#define NETWORK_URI_ERRORS_INC
+
+/**
+ * \file
+ * \brief Contains functions and exceptions for URI error handling.
+ */
+
+#include <system_error>
+#include <network/uri/config.hpp>
+
+#ifdef NETWORK_URI_MSVC
+#pragma warning(push)
+#pragma warning(disable : 4251 4231 4660)
+// Disable C4275 too because it's "essentially noise and can be silenced"
+// according to Stephen T. Lavavej at Microsoft. See:
+// https://connect.microsoft.com/VisualStudio/feedback/details/696593/vc-10-vs-2010-basic-string-exports.
+#pragma warning(disable : 4275)
+#endif
+
+namespace network {
+
+#if !defined(DOXYGEN_SHOULD_SKIP_THIS)
+enum class uri_error {
+
+ // parser errors
+ invalid_syntax = 1,
+
+ // builder errors
+ invalid_uri,
+ invalid_scheme,
+ invalid_user_info,
+ invalid_host,
+ invalid_port,
+ invalid_path,
+ invalid_query,
+ invalid_fragment,
+
+ // encoding errors
+ not_enough_input,
+ non_hex_input,
+ conversion_failed,
+};
+
+const std::error_category &uri_category();
+
+std::error_code make_error_code(uri_error e);
+#endif // !defined(DOXYGEN_SHOULD_SKIP_THIS)
+
+/**
+ * \class uri_syntax_error uri.hpp network/uri.hpp
+ * \brief An exception thrown by the \c uri constructor when a URI
+ * cannot be parsed.
+ */
+class uri_syntax_error : public std::system_error {
+ public:
+ /**
+ * \brief Constructor.
+ */
+ uri_syntax_error();
+
+ /**
+ * \brief Destructor.
+ */
+ virtual ~uri_syntax_error() noexcept;
+};
+
+/**
+ * \class uri_builder_error uri.hpp network/uri.hpp
+ * \brief An exception thrown when the \c uri_builder cannot build a
+ * valid URI.
+ */
+class uri_builder_error : public std::system_error {
+ public:
+ /**
+ * \brief Constructor.
+ */
+ uri_builder_error();
+
+ /**
+ * \brief Destructor.
+ */
+ virtual ~uri_builder_error() noexcept;
+};
+
+/**
+ * \class percent_decoding_error uri.hpp network/uri.hpp
+ * \brief An exception thrown when during percent decoding.
+ */
+class percent_decoding_error : public std::system_error {
+ public:
+ /**
+ * \brief Constructor.
+ */
+ explicit percent_decoding_error(uri_error error);
+
+ /**
+ * \brief Destructor.
+ */
+ virtual ~percent_decoding_error() noexcept;
+};
+} // namespace network
+
+#ifdef NETWORK_URI_MSVC
+#pragma warning(pop)
+#endif
+
+#endif // NETWORK_URI_ERRORS_INC