private HttpWebRequest PreparePostRequest <T>(String controller, String action, String parameters, T value, out byte[] byteData) where T : APIBaseRequest
        {
            APICompIDRequest wrapper;

            SignBytes signFunction = Interlocked.CompareExchange(ref signFunc, null, null);

            if (signFunction != null)
            {
                wrapper = new APISignedRequest(CompId)
                {
                    Request = value, Signature = signFunction(SerializingHelper.GetRequestBytes(value))
                }
            }
            ;
            else
            {
                wrapper = new APIPasswordRequest(CompId)
                {
                    Request = value, Password = (this.password ?? String.Empty)
                }
            };

            byteData = SerializingHelper.GetRequestBytes(wrapper);
            var request = GetApiRequest(controller, action, parameters);

            request.ContentType = "application/xml;charset=utf-16";
            request.Method      = "POST";
            //using (var stream = request.GetRequestStream())
            //{
            //    stream.Write(byteData, 0, byteData.Length);
            //}
            return(request);
        }
Example #2
0
 public XmlClient(Uri baseUri, long compId, SignBytes signatureFunction, String password)
 {
     this.Proxy    = null;
     this.BaseUrl  = baseUri;
     this.Timeout  = null;
     this.CompId   = compId;
     this.signFunc = signatureFunction;
     this.password = password;
 }
Example #3
0
 public XmlClient(String baseUrl, long compId, SignBytes signatureFunction, String password)
     : this(new Uri(baseUrl), compId, signatureFunction, password)
 {
 }