public HassiumCGI() { AddType(TypeDefinition); Get = new HassiumDictionary(new Dictionary <HassiumObject, HassiumObject>()); string query_string; if (Environment.GetEnvironmentVariables().Contains("QUERY_STRING")) { query_string = Environment.GetEnvironmentVariable("QUERY_STRING"); foreach (var arg in query_string.Split('&')) { if (!arg.Contains("=")) { Get.Dictionary.Add(new HassiumString(arg), new HassiumString(string.Empty)); } else { var key = arg.Split('=')[0]; var value = HttpUtility.UrlDecode(arg.Split('=')[1]); Get.Dictionary.Add(new HassiumString(key), new HassiumString(value)); } } } Post = new HassiumDictionary(new Dictionary <HassiumObject, HassiumObject>()); if (Environment.GetEnvironmentVariable("CONTENT_LENGTH") != null) { query_string = string.Empty; int PostedDataLength = Convert.ToInt32(Environment.GetEnvironmentVariable("CONTENT_LENGTH")); for (int i = 0; i < PostedDataLength; i++) { query_string += Convert.ToChar(Console.Read()).ToString(); } } else { //var stdin = new StreamReader(Console.OpenStandardInput()); query_string = string.Empty;//stdin.ReadToEnd(); } if (!string.IsNullOrWhiteSpace(query_string)) { foreach (var currentArg in query_string.Split('&')) { if (!currentArg.Contains("=")) { Post.Dictionary.Add(new HassiumString(currentArg), new HassiumString("")); } else { var key = currentArg.Split('=')[0]; var value = HttpUtility.UrlDecode(currentArg.Split('=')[1]); Post.Dictionary.Add(new HassiumString(key), new HassiumString(value)); } } } }
public static HassiumDictionary getattribs(VirtualMachine vm, HassiumObject self, SourceLocation location, params HassiumObject[] args) { HassiumDictionary dict = new HassiumDictionary(new Dictionary <HassiumObject, HassiumObject>()); foreach (var attrib in args[0].GetAttributes()) { dict.Dictionary.Add(new HassiumString(attrib.Key), attrib.Value); } return(dict); }
public HassiumTrait(string name) { Name = name; Traits = new HassiumDictionary(new Dictionary <HassiumObject, HassiumObject>()); AddType(TypeDefinition); }