Exemplo n.º 1
0
        public async Task <IActionResult> PutAsync(string id)
        {
            if (string.IsNullOrWhiteSpace(id))
            {
                return(this.BadRequest());
            }

            var    partitionKey = this.GetValuesPartitionKey(id);
            string requestUri   = new NamedApplication(this.serviceContext)
                                  .AppendNamedService("ValuesService")
                                  .BuildEndpointUri(endpointName: "web", target: HttpServiceUriTarget.Primary, partitionKey: partitionKey)
                                  + $"api/values/{id}";
            HttpContent content = new StreamContent(this.Request.Body);

            content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
            HttpResponseMessage r = await this.httpClient.PutAsync(requestUri, content);

            r.EnsureSuccessStatusCode();
            return(new ContentResult
            {
                Content = await r.Content.ReadAsStringAsync(),
                ContentType = "application/json",
                StatusCode = (int)r.StatusCode
            });
        }
Exemplo n.º 2
0
        public async Task <IActionResult> DeleteAsync(string id)
        {
            if (string.IsNullOrWhiteSpace(id))
            {
                return(this.BadRequest());
            }

            var    partitionKey = this.GetValuesPartitionKey(id);
            string requestUri   = new NamedApplication(this.serviceContext)
                                  .AppendNamedService("ValuesService")
                                  .BuildEndpointUri(endpointName: "web", target: HttpServiceUriTarget.Primary, partitionKey: partitionKey)
                                  + $"api/values/{id}";
            HttpResponseMessage r = await this.httpClient.DeleteAsync(requestUri);

            return(new StatusCodeResult((int)r.StatusCode));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> PostAsync()
        {
            string newId        = Guid.NewGuid().ToString();
            var    partitionKey = this.GetValuesPartitionKey(newId);
            string requestUri   = new NamedApplication(this.serviceContext)
                                  .AppendNamedService("ValuesService")
                                  .BuildEndpointUri(endpointName: "web", target: HttpServiceUriTarget.Primary, partitionKey: partitionKey)
                                  + $"api/values/{newId}";
            HttpResponseMessage r = await this.httpClient.PostAsync(requestUri, new StreamContent(this.HttpContext.Request.Body));

            r.EnsureSuccessStatusCode();
            return(new ContentResult
            {
                Content = await r.Content.ReadAsStringAsync(),
                ContentType = "application/json",
                StatusCode = (int)r.StatusCode
            });
        }
Exemplo n.º 4
0
        public async Task <IActionResult> GetAsync(string id)
        {
            if (string.IsNullOrWhiteSpace(id))
            {
                return(this.BadRequest());
            }

            var    partitionKey = this.GetValuesPartitionKey(id);
            string requestUri   = new NamedApplication(this.serviceContext)
                                  .AppendNamedService("ValuesService")
                                  .BuildEndpointUri(endpointName: "web", target: HttpServiceUriTarget.Primary, partitionKey: partitionKey)
                                  + $"api/values/{id}";

            return(new ContentResult
            {
                StatusCode = 200,
                Content = await this.httpClient.GetStringAsync(requestUri),
                ContentType = "application/json"
            });
        }