public Function DictToClientRb(Dictionary <string, string> dict) { ReturnType rt = new ReturnType(); try { StreamWriter sw = new StreamWriter(ChefConfig.ClientRb); foreach (var param in dict) { sw.WriteLine("{0} {1}", param.Key, param.Value); rt.Result = 0; rt.Data = String.Empty; rt.Object = null; rt.Message = "client.rb is created."; } sw.Close(); return(rt); } catch (Exception ex) { rt.Result = 2; rt.Data = String.Empty; rt.Object = null; rt.Message = "Error writing client.rb file. Error: " + ex.Message; return(rt); } }
/// <summary> /// Formats the RSA key, to be used by BluApi Chef API /// </summary> /// <param name="key">RSA key as sting</param> /// <returns>RT multiple type: see BluApi.Common.Function</returns> public Function Format(string key) { ReturnType rt = new ReturnType(); if (key.Contains("-----BEGIN RSA PRIVATE KEY-----") && key.Contains("-----END RSA PRIVATE KEY-----")) { key = key.Replace(Environment.NewLine, String.Empty); key = key.Replace(@"\n", String.Empty); key = key.Replace(@"\r", String.Empty); key = key.Replace(@"\t", String.Empty); int beginRsa = key.IndexOf("-----BEGIN RSA PRIVATE KEY-----", StringComparison.Ordinal) + 31; int endRsa = key.IndexOf("-----END RSA PRIVATE KEY-----", StringComparison.Ordinal); string rsaKey = key.Substring(beginRsa, endRsa - beginRsa); int stringLength = rsaKey.Length; int chunkSize = 64; string formattedRsaKey = "-----BEGIN RSA PRIVATE KEY-----" + Environment.NewLine; for (int i = 0; i < stringLength; i += chunkSize) { if (i + chunkSize > stringLength) { chunkSize = stringLength - i; } formattedRsaKey += rsaKey.Substring(i, chunkSize) + Environment.NewLine; } formattedRsaKey += "-----END RSA PRIVATE KEY-----"; rt.Result = 0; rt.Data = formattedRsaKey; rt.Object = null; rt.Message = String.Empty; } else { rt.Result = 3; rt.Data = String.Empty; rt.Object = null; rt.Message = "Failed to format RSA key. Cannot find BEGIN and END of RSA Key."; } return(rt); }
public static void log(ReturnType rt) { string logpath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\BluStation.log"; string log = DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss"); switch (rt.Result) { case 0: // vr.Result/Exit 0 log += " | OK | " + rt.Message; break; case 1: // vr.Result/Exit 1 log += " | INFO | " + rt.Message; break; case 2: // vr.Result/Exit 2 log += " | WARN | " + rt.Message; break; case 3: // vr.Result/Exit 3 log += " | ERROR | " + rt.Message; break; case 4: // vr.Result/Exit 4 log += " | FATAL | " + rt.Message; break; default: log += " | ??? | Log format is unknown."; break; } using (StreamWriter sw = File.AppendText(logpath)) { sw.WriteLine(log); } Console.WriteLine(log); }