This commit is contained in:
2018-08-07 14:52:41 +02:00
parent 37c9ce7495
commit 788ea08e95
8 changed files with 149 additions and 208 deletions
+75 -51
View File
@@ -45,7 +45,7 @@ namespace Nuvolar.Module.StaticClass
_ResponseMessage = "";
_UriBase = ConfigurationManager.AppSettings["Uri"];
_GeocodeAPIKey = ConfigurationManager.AppSettings["GeocodeAPIKey"];
Laravel.Users _Users = _onew.FindObject<Nuvolar.Module.Laravel.Users>(CriteriaOperator.Parse("email='sysadmin@emango.com'"));
Laravel.Users _Users = _onew.FindObject<Laravel.Users>(CriteriaOperator.Parse("email='sysadmin@emango.com'"));
if (_Users != null)
{
if (String.IsNullOrEmpty(_Users.api_token))
@@ -61,82 +61,106 @@ namespace Nuvolar.Module.StaticClass
var dd = JsonConvert.DeserializeObject(json);
var dict = JObject.Parse(json).SelectToken("data").ToObject<Dictionary<string, string>>();
_API_Token = dict["api_token"];
Tracing.Tracer.LogText(string.Format("API Token requested : {0}", _API_Token.ToString()));
}
else
{
Tracing.Tracer.LogText("API Token request fail!");
}
}
else
{
_API_Token = _Users.api_token;
Tracing.Tracer.LogText(string.Format("API Token found : {0}", _API_Token.ToString()));
}
}
else
{
Tracing.Tracer.LogText("Laravel user not found!");
}
}
public static string ExecuteRootePOST(string _RooteString, bool _NeedAuthentication, string _postData)
{
_StatusCode = 500;
_StatusMessage = "Not respond";
_StatusMessage = "Not respond ...";
string json = "";
Tracing.Tracer.LogText(_UriBase + _RooteString);
var _Uri = new Uri(_UriBase + _RooteString, UriKind.Absolute);
var _WebRequest = WebRequest.Create(_Uri);
HttpWebRequest _HttpWebRequest = (HttpWebRequest)_WebRequest;
_HttpWebRequest.Method = "POST";
byte[] byteArray = Encoding.UTF8.GetBytes(_postData);
if (_NeedAuthentication)
{
_HttpWebRequest.PreAuthenticate = true;
_HttpWebRequest.Headers.Add("Authorization", "Bearer " + _API_Token);
_HttpWebRequest.Headers.Add("cdb", GeneralFunction.GLOBAL_SQLDatabase);
}
_HttpWebRequest.ContentType = "application/json";
_HttpWebRequest.Accept = "application/json";
_HttpWebRequest.ContentLength = byteArray.Length;
Stream _dataStream = _HttpWebRequest.GetRequestStream();
_dataStream.Write(byteArray, 0, byteArray.Length);
_dataStream.Close();
Tracing.Tracer.LogText(_postData);
try
{
WebResponse _WebResponse = _WebRequest.GetResponse();
_StatusCode = (int)((HttpWebResponse)_WebResponse).StatusCode;
_StatusMessage = ((HttpWebResponse)_WebResponse).StatusDescription;
var _responseStream = _WebResponse.GetResponseStream();
if (_responseStream == null) return json;
var _Uri = new Uri(_UriBase + _RooteString, UriKind.Absolute);
var _WebRequest = WebRequest.Create(_Uri);
HttpWebRequest _HttpWebRequest = (HttpWebRequest)_WebRequest;
var _StreamReader = new StreamReader(_responseStream, Encoding.Default);
json = _StreamReader.ReadToEnd();
_HttpWebRequest.Method = "POST";
byte[] byteArray = Encoding.UTF8.GetBytes(_postData);
if (_NeedAuthentication)
{
_HttpWebRequest.PreAuthenticate = true;
_HttpWebRequest.Headers.Add("Authorization", "Bearer " + _API_Token);
_HttpWebRequest.Headers.Add("cdb", GeneralFunction.GLOBAL_SQLDatabase);
}
_HttpWebRequest.ContentType = "application/json";
_HttpWebRequest.Accept = "application/json";
_HttpWebRequest.ContentLength = byteArray.Length;
Stream _dataStream = _HttpWebRequest.GetRequestStream();
_dataStream.Write(byteArray, 0, byteArray.Length);
_dataStream.Close();
Tracing.Tracer.LogText("Web request initialized !");
try
{
_StatusMessage = JsonConvert.DeserializeObject(json).ToString();
}
catch (Exception)
{
}
_responseStream.Close();
_WebResponse.Close();
}
catch (WebException ex)
{
if (ex.Status == WebExceptionStatus.ProtocolError)
{
var _WebResponse = (HttpWebResponse)ex.Response;
_StatusCode = (int)_WebResponse.StatusCode;
WebResponse _WebResponse = _WebRequest.GetResponse();
_StatusCode = (int)((HttpWebResponse)_WebResponse).StatusCode;
_StatusMessage = ((HttpWebResponse)_WebResponse).StatusDescription;
var _responseStream = _WebResponse.GetResponseStream();
if (_responseStream != null)
{
var _StreamReader = new StreamReader(_responseStream, Encoding.Default);
json = _StreamReader.ReadToEnd();
}
else
{
return json;
}
try
{
_StatusMessage = JsonConvert.DeserializeObject(json).ToString();
}
catch (Exception ex)
{
Tracing.Tracer.LogText(ex.Message);
}
_responseStream.Close();
_WebResponse.Close();
}
catch (WebException ex)
{
Tracing.Tracer.LogText(ex.Message);
if (ex.Status == WebExceptionStatus.ProtocolError)
{
var _WebResponse = (HttpWebResponse)ex.Response;
_StatusCode = (int)_WebResponse.StatusCode;
_StatusMessage = ((HttpWebResponse)_WebResponse).StatusDescription;
}
}
}
catch (Exception ex)
{
Tracing.Tracer.LogText(ex.Message);
}
return json;
}
public static string ExecuteRooteGET(string _RooteString, bool _NeedAuthentication)
{