Ejemplo n.º 1
0
        private void GetRecordset()
        {
            string _objectName = _xc.ObjectName;
            var    parameters  = _sqlParams.AsEnumerable();

            if (!StartFilter.IsEmpty())
            {
                parameters = parameters.Concat(new object[] { "_filter", StartFilter });
            }
            if (!_connectioName.IsEmpty())
            {
                parameters = parameters.Concat(new object[] { "_connectionName", _connectioName });
            }

            _dt = ClientGate.GetData(this.ObjectName, parameters.ToArray());
        }
        private bool Handler(string method, string uri, HttpHeaders headers, SocketReader reader, Socket socket)
        {
            if (_handlers.Count == 0)
            {
                return(false);
            }

            string path, querystring;
            int    qindex = uri.IndexOf('?');

            if (qindex < 0)
            {
                path        = uri;
                querystring = null;
            }
            else
            {
                path        = uri.Substring(0, qindex);
                querystring = qindex == (uri.Length - 1) ? "" : uri.Substring(qindex + 1);
            }

            MemoryStream requestBodyStream = new MemoryStream();

            byte[] buffer = new byte[8192];
            int    bytesRead;

            while (0 != (bytesRead = reader.Read(buffer, 0, buffer.Length)))
            {
                requestBodyStream.Write(buffer, 0, bytesRead);
            }
            requestBodyStream.Seek(0, SeekOrigin.Begin);

            Stream readOnlyRequestBodyStream = new ReadOnlyStream(requestBodyStream);

            readOnlyRequestBodyStream.Seek(0, SeekOrigin.Begin);

            Request  request  = new Request(method, path, querystring, headers, readOnlyRequestBodyStream);
            Response response = new Response(new MemoryStream());

            if (StartFilter.Filter(request, response))
            {
                response.Stream.Seek(0, SeekOrigin.Begin);
                StreamHelper.Transfer(response.Stream, new SocketStream(socket, false));
                return(true);
            }
            return(false);
        }