Fix compile

This commit is contained in:
Joshua Granick
2015-11-21 00:43:42 -08:00
parent f16716c2e8
commit da62ffee2a
2 changed files with 121 additions and 122 deletions

View File

@@ -1,7 +1,6 @@
package lime.net; package lime.net;
import flash.utils.ByteArray;
import haxe.io.Bytes; import haxe.io.Bytes;
import lime.app.Future; import lime.app.Future;
import lime.app.Promise; import lime.app.Promise;

View File

@@ -1,124 +1,124 @@
package lime.net.oauth; package lime.net.oauth;
import haxe.crypto.Base64; //import haxe.crypto.Base64;
import haxe.crypto.Hmac; //import haxe.crypto.Hmac;
import haxe.io.Bytes; //import haxe.io.Bytes;
import lime.net.URLRequestMethod; //import lime.net.URLRequestMethod;
import lime.net.URLRequestHeader; //import lime.net.URLRequestHeader;
import lime.net.URLRequest; //import lime.net.URLRequest;
import lime.net.URIParser; //import lime.net.URIParser;
import lime.net.oauth.OAuthToken; //import lime.net.oauth.OAuthToken;
//
using StringTools; //using StringTools;
//
class OAuthRequest { //class OAuthRequest {
//
public var version:OAuthVersion = V1; //public var version:OAuthVersion = V1;
public var parameters:Map<String, String>; //public var parameters:Map<String, String>;
public var request:URLRequest; //public var request:URLRequest;
//
private var uri:URIParser; //private var uri:URIParser;
//
//
public function new (version:OAuthVersion = V1, method:URLRequestMethod, url:String, parameters:Map<String, String>) { //public function new (version:OAuthVersion = V1, method:URLRequestMethod, url:String, parameters:Map<String, String>) {
//
this.version = version; //this.version = version;
request = new URLRequest(); //request = new URLRequest();
request.url = url; //request.url = url;
request.method = cast method; //request.method = cast method;
this.parameters = parameters; //this.parameters = parameters;
//
uri = new URIParser(url); //uri = new URIParser(url);
//
} //}
//
//
public function getHeader ():URLRequestHeader { //public function getHeader ():URLRequestHeader {
//
var result = ""; //var result = "";
//
switch(version) { //switch(version) {
//
case V1: //case V1:
result = "OAuth "; //result = "OAuth ";
//
var keys = parameters.keys(); //var keys = parameters.keys();
for(key in keys) { //for(key in keys) {
result += '${key.urlEncode()}="${parameters.get(key).urlEncode()}"'; //result += '${key.urlEncode()}="${parameters.get(key).urlEncode()}"';
if(keys.hasNext()) { //if(keys.hasNext()) {
result += ", "; //result += ", ";
} //}
} //}
//
case V2: //case V2:
// TODO //// TODO
} //}
//
return new URLRequestHeader("Authorization", result); //return new URLRequestHeader("Authorization", result);
//
} //}
//
/** ///**
* Signs the petition, only for OAuth 1.0 //* Signs the petition, only for OAuth 1.0
*/ //*/
public function sign (consumer:OAuthConsumer, ?accessToken:OAuth1AccessToken, ?signatureMethod:OAuthSignatureMethod = HMAC_SHA1):Void { //public function sign (consumer:OAuthConsumer, ?accessToken:OAuth1AccessToken, ?signatureMethod:OAuthSignatureMethod = HMAC_SHA1):Void {
//
var key = consumer.secret.urlEncode() + "&"; //var key = consumer.secret.urlEncode() + "&";
if(accessToken != null) { //if(accessToken != null) {
key += accessToken.secret == null ? "" : accessToken.secret.urlEncode(); //key += accessToken.secret == null ? "" : accessToken.secret.urlEncode();
} //}
var message = request.method + "&" + normalizeURI() + "&" + normalizeParameters(); //var message = request.method + "&" + normalizeURI() + "&" + normalizeParameters();
var hash = new Hmac (SHA1); //var hash = new Hmac (SHA1);
var bytes = hash.make (Bytes.ofString (key), Bytes.ofString (message)); //var bytes = hash.make (Bytes.ofString (key), Bytes.ofString (message));
//
parameters.set("oauth_signature", Base64.encode (bytes)); //parameters.set("oauth_signature", Base64.encode (bytes));
} //}
//
// SIGNING FUNCTIONS //// SIGNING FUNCTIONS
//
/** ///**
* Prepares the message parameters for the signing process //* Prepares the message parameters for the signing process
*/ //*/
private function normalizeParameters():String { //private function normalizeParameters():String {
//
var result = new Array<KVPair>(); //var result = new Array<KVPair>();
//
if(uri.queryArray != null) { //if(uri.queryArray != null) {
result = result.concat(uri.queryArray); //result = result.concat(uri.queryArray);
} //}
// TODO add data if POST //// TODO add data if POST
//
for(key in parameters.keys()) { //for(key in parameters.keys()) {
//
if(key == "realm") continue; //if(key == "realm") continue;
result.push( { k: key, v: parameters.get(key) } ); //result.push( { k: key, v: parameters.get(key) } );
//
} //}
//
result.sort(OAuthSort); //result.sort(OAuthSort);
//
return result.map(function(p:KVPair) return p.k.urlEncode()+"="+p.v.urlEncode()).join("&").urlEncode(); //return result.map(function(p:KVPair) return p.k.urlEncode()+"="+p.v.urlEncode()).join("&").urlEncode();
} //}
//
private function normalizeURI():String { //private function normalizeURI():String {
var scheme = uri.protocol == null ? "https" : uri.protocol.toLowerCase(); //var scheme = uri.protocol == null ? "https" : uri.protocol.toLowerCase();
var authority = uri.authority.toLowerCase(); //var authority = uri.authority.toLowerCase();
var port = (scheme == "https" || scheme == "http") ? null : uri.port; //var port = (scheme == "https" || scheme == "http") ? null : uri.port;
var path = uri.path; //var path = uri.path;
var result = (scheme + "://" + authority + (port == null ? "" : ":" + port) + path); //var result = (scheme + "://" + authority + (port == null ? "" : ":" + port) + path);
return result.urlEncode(); //return result.urlEncode();
} //}
//
/** ///**
* Parameters are sorted by name, using lexicographical byte value ordering. //* Parameters are sorted by name, using lexicographical byte value ordering.
* If two or more parameters share the same name, they are sorted by their value. //* If two or more parameters share the same name, they are sorted by their value.
*/ //*/
private function OAuthSort(a:KVPair, b:KVPair) { //private function OAuthSort(a:KVPair, b:KVPair) {
return if(a.k < b.k) -1 else if (a.k > b.k) 1 else if (a.v < b.v) -1 else 1; //return if(a.k < b.k) -1 else if (a.k > b.k) 1 else if (a.v < b.v) -1 else 1;
} //}
//
} //}
//
//
typedef KVPair = {k:String, v:String}; //typedef KVPair = {k:String, v:String};