Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(135)

Side by Side Diff: lib/src/utils.dart

Issue 1320523003: Make a bunch of API changes. (Closed) Base URL: git@github.com:dart-lang/oauth2.git@master
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library oauth2.utils; 5 library oauth2.utils;
6 6
7 import 'dart:convert';
8
9 import 'package:crypto/crypto.dart';
10
7 /// Adds additional query parameters to [url], overwriting the original 11 /// Adds additional query parameters to [url], overwriting the original
8 /// parameters if a name conflict occurs. 12 /// parameters if a name conflict occurs.
9 Uri addQueryParameters(Uri url, Map<String, String> parameters) => url.replace( 13 Uri addQueryParameters(Uri url, Map<String, String> parameters) => url.replace(
10 queryParameters: new Map.from(url.queryParameters)..addAll(parameters)); 14 queryParameters: new Map.from(url.queryParameters)..addAll(parameters));
11 15
16 String basicAuthHeader(String identifier, String secret) {
17 var userPass = Uri.encodeFull(identifier) + ":" + Uri.encodeFull(secret);
18 return "Basic " + CryptoUtils.bytesToBase64(ASCII.encode(userPass));
19 }
20
12 /// Like [String.split], but only splits on the first occurrence of the pattern. 21 /// Like [String.split], but only splits on the first occurrence of the pattern.
13 /// 22 ///
14 /// This will always return a list of two elements or fewer. 23 /// This will always return a list of two elements or fewer.
15 List<String> split1(String toSplit, String pattern) { 24 List<String> split1(String toSplit, String pattern) {
16 if (toSplit.isEmpty) return []; 25 if (toSplit.isEmpty) return [];
17 26
18 var index = toSplit.indexOf(pattern); 27 var index = toSplit.indexOf(pattern);
19 if (index == -1) return [toSplit]; 28 if (index == -1) return [toSplit];
20 return [toSplit.substring(0, index), 29 return [toSplit.substring(0, index),
21 toSplit.substring(index + pattern.length)]; 30 toSplit.substring(index + pattern.length)];
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 parameters[match.group(1).toLowerCase()] = match.group(2); 68 parameters[match.group(1).toLowerCase()] = match.group(2);
60 } while (match.group(3) != null); 69 } while (match.group(3) != null);
61 70
62 if (!paramString.trim().isEmpty) { 71 if (!paramString.trim().isEmpty) {
63 throw new FormatException('Invalid WWW-Authenticate header: "$header"'); 72 throw new FormatException('Invalid WWW-Authenticate header: "$header"');
64 } 73 }
65 74
66 return new AuthenticateHeader(scheme, parameters); 75 return new AuthenticateHeader(scheme, parameters);
67 } 76 }
68 } 77 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698