Index: pkg/oauth2/lib/src/authorization_exception.dart |
diff --git a/pkg/oauth2/lib/src/authorization_exception.dart b/pkg/oauth2/lib/src/authorization_exception.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d48c3b16d5dc737c54c397798e39994cfdfbfc62 |
--- /dev/null |
+++ b/pkg/oauth2/lib/src/authorization_exception.dart |
@@ -0,0 +1,36 @@ |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+library authorization_exception; |
+ |
+import 'dart:io'; |
+ |
+/// An exception raised when OAuth2 authorization fails. |
+class AuthorizationException implements Exception { |
+ /// The name of the error. Possible names are enumerated in [the spec][]. |
+ /// |
+ /// [the spec]: http://tools.ietf.org/html/draft-ietf-oauth-v2-31#section-5.2 |
+ final String error; |
+ |
+ /// The description of the error, provided by the server. Defaults to null. |
+ final String description; |
+ |
+ /// A URI for a page that describes the error in more detail, provided by the |
+ /// server. Defaults to null. |
+ final Uri uri; |
+ |
+ /// Creates an AuthorizationException. |
+ AuthorizationException(this.error, this.description, this.uri); |
+ |
+ /// Provides a string description of the AuthorizationException. |
+ String toString() { |
+ var header = 'OAuth authorization error ($error)'; |
+ if (description != null) { |
+ header = '$header: $description'; |
+ } else if (uri != null) { |
+ header = '$header: $uri'; |
+ } |
+ return '$header.'; |
+ } |
+} |