Esempio n. 1
0
        private static void WriteInsertions(Stream stream, Table table)
        {
            var tempFileName = Path.GetTempFileName();

            try
            {
                var options = new ScriptingOptions
                {
                    AppendToFile            = true,
                    EnforceScriptingOptions = true,
                    FileName            = tempFileName,
                    ScriptData          = true,
                    ScriptSchema        = false,
                    Encoding            = DEFAULT_ENCODING,
                    NoCommandTerminator = true,
                };
                _ = table.EnumScript(options);
                using var tempFileStream = File.OpenRead(tempFileName);

                // Skipping encoding preamble bytes.
                tempFileStream.Position = DEFAULT_ENCODING.GetPreamble().Length;
                tempFileStream.CopyTo(stream);
            }
            finally
            {
                if (File.Exists(tempFileName))
                {
                    File.Delete(tempFileName);
                }
            }
        }
Esempio n. 2
0
            public ScriptValue Call(ScriptValue obj, ScriptValue[] Parameters, int length)
            {
                var request = CreateRequest(Parameters[0].ToString(), "POST");

                if (length > 1)
                {
                    using (var stream = request.GetRequestStream()) {
                        var value  = Parameters[1];
                        var buffer = value.valueType == ScriptValue.stringValueType ? DEFAULT_ENCODING.GetBytes(value.ToString()) : value.Value as byte[];
                        stream.Write(buffer, 0, buffer.Length);
                    }
                }
                if (length > 2)
                {
                    Parameters[2].Get <ScriptFunction>().call(ScriptValue.Null, request);
                }
                using (var stream = new MemoryStream()) {
                    ReadStream(request, stream);
                    return(new ScriptValue(stream.ToArray()));
                }
            }