Esempio n. 1
0
        public override void ExecuteResult(ControllerContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }
            if (JsonRequestBehavior == JsonRequestBehavior.DenyGet &&
                string.Equals(context.HttpContext.Request.HttpMethod, "GET", StringComparison.OrdinalIgnoreCase))
            {
                throw new InvalidOperationException("JSON GET is not allowed");
            }

            HttpResponseBase response = context.HttpContext.Response;

            response.ContentType = string.IsNullOrEmpty(this.ContentType) ? "application/json" : this.ContentType;

            if (ContentEncoding != null)
            {
                response.ContentEncoding = this.ContentEncoding;
            }
            if (Data == null)
            {
                return;
            }


            var json = JsonNetHelper.Serialize(this.Data);

            response.Write(json);
        }
Esempio n. 2
0
        private T SendCommand <T>(Uri endpoint, object payload = null) where T : class
        {
            var httpWebRequest = (HttpWebRequest)WebRequest.Create(endpoint);

            httpWebRequest.ContentType = "application/json";
            httpWebRequest.Method      = "POST";
            httpWebRequest.Accept      = "application/json";
            httpWebRequest.Headers.Add(ServerConfiguration.Headers.Version, (typeof(ServerChannel).Assembly.GetName().Version.ToString()));
            httpWebRequest.Headers.Add(ServerConfiguration.Headers.WorkerRegistrationToken, Token.HasValue?Token.ToString():"");

            using (var writer = new StreamWriter(httpWebRequest.GetRequestStream()))
            {
                writer.Write(JsonNetHelper.Serialize(payload));
            }
            using (var reader = new StreamReader(httpWebRequest.GetResponse().GetResponseStream()))
            {
                var body = reader.ReadToEnd();
                try
                {
                    return(JsonNetHelper.Deserialize <T>(body));
                }
                catch (JsonException ex)
                {
                    Logger.Error(ex);
                    Logger.Error(body);
                    throw;
                }
            }
        }
Esempio n. 3
0
        public static T SendRequest <T>(Uri endpoint, object payload = null) where T : class
        {
            var httpWebRequest = (HttpWebRequest)WebRequest.Create(endpoint);

            httpWebRequest.ContentType = "application/json";
            httpWebRequest.Method      = "POST";
            httpWebRequest.Accept      = "application/json";
            httpWebRequest.Headers.Add(ServerConfiguration.Headers.Version, typeof(Program).Assembly.GetName().Version.ToString());

            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
            {
                streamWriter.Write(JsonNetHelper.Serialize(payload));
                streamWriter.Flush();
                streamWriter.Close();

                var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
                using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                {
                    var result = streamReader.ReadToEnd();
                    return(JsonNetHelper.Deserialize <T>(result));
                }
            }
        }