internal static void Log(string message, int logType = 500, DateTime?dateTime = null, Guid?requestGuid = null, bool isDebug = false) { if (!requestGuid.HasValue) { requestGuid = (Guid)(Durados.Workflow.JavaScript.GetCacheInCurrentRequest(Durados.Workflow.JavaScript.GuidKey) ?? Guid.NewGuid()); } Durados.Database database = Durados.Workflow.Engine.GetCurrentDatabase(); if (database == null) { return; } database.Logger.Log("", "", Durados.Database.LogMessage, "", "", logType, message, dateTime ?? DateTime.Now, requestGuid); if (!isDebug && !IsDebug()) { return; } CheckLimit(); database.Logger.Log("", "", "", "", "", logType, message, dateTime ?? DateTime.Now, requestGuid); //using (System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection(Durados.Workflow.JavaScript.GetCacheInCurrentRequest(Durados.Workflow.JavaScript.ConnectionStringKey).ToString())) //{ // connection.Open(); // string sql = "insert into durados_log ([Time], [LogType], [FreeText], [Guid]) values(@Time,@LogType,@FreeText,@Guid)"; // using (System.Data.SqlClient.SqlCommand command = new System.Data.SqlClient.SqlCommand(sql, connection)) // { // command.Parameters.Add(new System.Data.SqlClient.SqlParameter("Time", DateTime.Now)); // command.Parameters.Add(new System.Data.SqlClient.SqlParameter("LogType", logType)); // command.Parameters.Add(new System.Data.SqlClient.SqlParameter("FreeText", message)); // command.Parameters.Add(new System.Data.SqlClient.SqlParameter("Guid", Durados.Workflow.JavaScript.GetCacheInCurrentRequest(Durados.Workflow.JavaScript.GuidKey))); // command.ExecuteNonQuery(); // } //} }
private void Log(int logType, string freeText, Exception exception = null, int?requestTiem = null) { try { Durados.Database database = Durados.Workflow.Engine.GetCurrentDatabase(); if (database != null) { database.Logger.Log(request.RequestUri.AbsoluteUri, request.Method, "Durados.Workflow", exception == null ? string.Empty : exception.Message, exception == null ? string.Empty : exception.StackTrace, logType, freeText, DateTime.Now, requestTiem); } } catch { } }
public OpenFaasCloud(Durados.Database database) : base(database) { }
public GoogleCloud(Durados.Database database) : base(database) { }
public void send(string data) { Log(3, "Started"); try { if (Durados.Workflow.JavaScript.IsCrud(request)) { try { string result = Durados.Workflow.JavaScript.PerformCrud(request, data); status = 200; responseText = result; } catch (Durados.Data.DataHandlerException e) { responseText = e.Message; status = e.Status; } return; } } catch (Exception crudException) { if (crudException.InnerException is StackOverflowException) { responseText = crudException.Message; status = (int)HttpStatusCode.BadRequest; return; } } try { if (Durados.Workflow.JavaScript.IsDebug() || request.RequestUri.AbsoluteUri.Contains("localhost") || request.RequestUri.AbsoluteUri.ToLower().Contains("backand")) { string appName = (Durados.Workflow.JavaScript.GetCacheInCurrentRequest(Durados.Database.AppName) ?? string.Empty).ToString(); if (!string.IsNullOrEmpty(appName)) { if (request.Headers["AppName"] == null && request.Headers["appName"] == null && request.Headers["appname"] == null) { request.Headers.Add("AppName", appName); } } if (request.Headers["Authorization"] == null && request.Headers["authorization"] == null) { Durados.Database database = Durados.Workflow.Engine.GetCurrentDatabase(); if (database != null) { request.Headers.Add("Authorization", database.GetAuthorization()); } } } } catch { } if (!string.IsNullOrEmpty(data) && data != "null") { if (request.RequestUri.AbsolutePath.Contains("1/file")) { ((HttpWebRequest)request).AllowWriteStreamBuffering = false; if (System.Web.HttpContext.Current.Items["file_stream"] != null) { data = data.Replace("file_stream", System.Web.HttpContext.Current.Items["file_stream"].ToString()); } } byte[] bytes; if (request.ContentType != null && request.ContentType.ToLower().Contains("multipart/form-data")) { if (!request.ContentType.Contains("boundary=")) { request.ContentType += "; boundary=" + Boundary; } //((HttpWebRequest)request).Accept = "*/*"; //((HttpWebRequest)request).UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.220 Safari/535.1"; //ServicePointManager.Expect100Continue = false; //request.Proxy = null; //request.PreAuthenticate = true; bytes = GetMultipartFormData(data); } else { bytes = System.Text.Encoding.UTF8.GetBytes(data); } request.ContentLength = bytes.Length; if (request.ContentType == null) { request.ContentType = "application/x-www-form-urlencoded"; } using (Stream requestStream = request.GetRequestStream()) { //Writes a sequence of bytes to the current stream requestStream.Write(bytes, 0, bytes.Length); requestStream.Close();//Close stream } if (Durados.Workflow.JavaScript.IsDebug()) { try { string requestBody = System.Text.Encoding.UTF8.GetString(bytes); } catch { } } } HttpWebResponse response = null; if (Async) { new Thread(() => { Thread.CurrentThread.IsBackground = true; /* run your code here */ var asyncRequest = WebRequest.Create(request.RequestUri); asyncRequest.Method = request.Method; asyncRequest.ContentType = request.ContentType; foreach (var header in request.Headers.AllKeys) { if (!(header.ToLower() == "content-type" || header.ToLower() == "accept" || header.ToLower() == "host" || header.ToLower() == "content-length" || header.ToLower() == "expect" || header.ToLower() == "connection")) { try { asyncRequest.Headers.Add(header, request.Headers[header]); } catch { } } } asyncRequest.BeginGetResponse(null, null); }).Start(); responseText = string.Empty; return; } try { response = (HttpWebResponse)request.GetResponse(); status = (int)response.StatusCode; if (status >= 200 && status < 300) { //Get response stream into StreamReader using (Stream responseStream = response.GetResponseStream()) { string charset = GetCharset(request); Encoding encoding = Encoding.UTF8; if (charset != null) { try { encoding = Encoding.GetEncoding(charset); } catch { } } using (StreamReader reader = new StreamReader(responseStream, encoding)) responseText = reader.ReadToEnd(); //if(string.IsNullOrEmpty(responseText)) responseText="{}"; } } response.Close();//Close HttpWebResponse Log(3, request.RequestUri.OriginalString, null, 0); //Log(3, "Ended with status " + status); } catch (WebException we) { //TODO: Add custom exception handling if (we.Status == WebExceptionStatus.Timeout) { status = (int)HttpStatusCode.RequestTimeout; } responseText = we.Message; var encoding = UTF8Encoding.UTF8; if (we.Response != null) { using (var reader = new System.IO.StreamReader(we.Response.GetResponseStream(), encoding)) { responseText = reader.ReadToEnd(); } status = (int)((System.Net.HttpWebResponse)(we.Response)).StatusCode; } if (we.Response != null && we.Response.Headers.AllKeys.Contains("error")) { if (!string.IsNullOrEmpty(responseText)) { responseText += "; "; } responseText += we.Response.Headers["error"]; } //Log(1, "Ended with status " + status, we); Log(3, request.RequestUri.OriginalString, we); } catch (Exception ex) { //Log(1, "Ended with status " + status, ex); Log(3, request.RequestUri.OriginalString, ex); throw new Exception(ex.Message); } finally { if (response != null) { try { response.Close(); } catch { } } response = null; request = null; } }
public AzureCloud(Durados.Database database) : base(database) { }
public FnProjectCloud(Durados.Database database) : base(database) { }