Exemple #1
0
        private Readable SendRequest(Writeable payload)
        {
            // build the request header
            PlayerRqst request = CreateHeader(payload);

            // build request data
            MemoryStream  requestStream = new MemoryStream();
            XmlDataWriter requestWriter = new XmlDataWriter(requestStream);

            requestWriter.WriteObject(request.GetType().Name, request);
            requestWriter.Flush();
            if (Logger.Enabled)
            {
                Logger.LogInfo(this, "SendRequest", String.Format("Request: {0}", Encoding.UTF8.GetString(requestStream.ToArray())));
            }

            // send request
            MemoryStream responseStream = SendRequestViaHttp(requestStream);

            if (Logger.Enabled)
            {
                Logger.LogInfo(this, "SendRequest", String.Format("Response: {0}", Encoding.UTF8.GetString(responseStream.ToArray())));
            }

            // read response
            XmlDataReader responseReader = new XmlDataReader(responseStream);
            PlayerResp    response       = (PlayerResp)responseReader.ReadObject("PlayerResp", PlayerResp.CtorDataReader);

            // parse response header
            return(ParseHeader(response));
        }
Exemple #2
0
        private Readable ParseHeader(PlayerResp response)
        {
            fStatusCode    = response.StatusCode;
            fStatusMessage = response.StatusMessage;

            if (fStatusCode == StatusCode.sc_InvalidSession)
            {
                fResetNeeded = true;
            }

            if (response.ResponseData == null)
            {
                if (fStatusCode == StatusCode.sc_Success)
                {
                    fStatusCode = StatusCode.sc_GeneralError;
                }
                return(null);
            }

            return(response.ResponseData.Response);
        }