mirror of
https://github.com/longbridge/developers.git
synced 2026-09-19 03:34:09 +08:00
134 lines
4.0 KiB
Plaintext
134 lines
4.0 KiB
Plaintext
using System;
|
|
using System.Collections.Generic;
|
|
using System.Net.Http;
|
|
using System.Net.Http.Headers;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using Newtonsoft.Json;
|
|
|
|
/// <<summary>>
|
|
/// Example of Http Client
|
|
/// <</summary>>
|
|
public class HttpExample
|
|
{
|
|
private HttpClient Client { get; set; }
|
|
|
|
/// <<summary>>
|
|
/// Setup http client
|
|
/// <</summary>>
|
|
public HttpExample()
|
|
{
|
|
Client = new HttpClient();
|
|
}
|
|
{{? data.methodUpper == "GET"}}
|
|
/// Make a dummy request
|
|
public async Task MakeGetRequest()
|
|
{
|
|
string url = "{{=data.url}}";
|
|
var result = await GetAsync(url);
|
|
}
|
|
|
|
/// Performs a GET Request
|
|
public async Task GetAsync(string url)
|
|
{
|
|
//Start the request
|
|
HttpResponseMessage response = await Client.GetAsync(url);
|
|
|
|
//Validate result
|
|
response.EnsureSuccessStatusCode();
|
|
|
|
}{{? }}
|
|
{{? data.methodUpper == "POST"}}
|
|
/// Make a dummy request
|
|
public async Task MakePostRequest()
|
|
{
|
|
string url = "{{=data.url}}";
|
|
{{? data.bodyParameter.refName !== undefined }}
|
|
string json = @"{{=data.bodyParameter.exampleValues.json.replace(new RegExp('"', "g"), '""')}}";
|
|
{{=data.bodyParameter.refName}} content = JsonConvert.DeserializeObject(json);
|
|
await PostAsync(content, url);
|
|
{{? }}
|
|
{{? data.bodyParameter.refName === undefined }}
|
|
await PostAsync(null, url);
|
|
{{? }}
|
|
}
|
|
|
|
/// Performs a POST Request
|
|
public async Task PostAsync({{=data.bodyParameter.refName}} content, string url)
|
|
{
|
|
//Serialize Object
|
|
StringContent jsonContent = SerializeObject(content);
|
|
|
|
//Execute POST request
|
|
HttpResponseMessage response = await Client.PostAsync(url, jsonContent);
|
|
}{{? }}
|
|
{{? data.methodUpper == "PUT"}}
|
|
/// Make a dummy request
|
|
public async Task MakePutRequest()
|
|
{
|
|
int id = 1;
|
|
string url = "{{=data.url}}";
|
|
|
|
{{? data.bodyParameter.refName !== undefined }}
|
|
string json = @"{{=data.bodyParameter.exampleValues.json.replace(new RegExp('"', "g"), '""')}}";
|
|
{{=data.bodyParameter.refName}} content = JsonConvert.DeserializeObject(json);
|
|
var result = await PutAsync(id, content, url);
|
|
{{? }}
|
|
{{? data.bodyParameter.refName === undefined }}
|
|
var result = await PutAsync(id, null, url);
|
|
{{? }}
|
|
}
|
|
|
|
/// Performs a PUT Request
|
|
public async Task PutAsync(int id, {{=data.bodyParameter.refName}} content, string url)
|
|
{
|
|
//Serialize Object
|
|
StringContent jsonContent = SerializeObject(content);
|
|
|
|
//Execute PUT request
|
|
HttpResponseMessage response = await Client.PutAsync(url + $"/{id}", jsonContent);
|
|
|
|
//Return response
|
|
return await DeserializeObject(response);
|
|
}{{? }}
|
|
{{? data.methodUpper == "DELETE"}}
|
|
/// Make a dummy request
|
|
public async Task MakeDeleteRequest()
|
|
{
|
|
int id = 1;
|
|
string url = "{{=data.url}}";
|
|
|
|
await DeleteAsync(id, url);
|
|
}
|
|
|
|
/// Performs a DELETE Request
|
|
public async Task DeleteAsync(int id, string url)
|
|
{
|
|
//Execute DELETE request
|
|
HttpResponseMessage response = await Client.DeleteAsync(url + $"/{id}");
|
|
|
|
//Return response
|
|
await DeserializeObject(response);
|
|
}{{? }}
|
|
{{? data.methodUpper == "POST" || data.methodUpper == "PUT"}}
|
|
/// Serialize an object to Json
|
|
private StringContent SerializeObject({{=data.bodyParameter.refName}} content)
|
|
{
|
|
//Serialize Object
|
|
string jsonObject = JsonConvert.SerializeObject(content);
|
|
|
|
//Create Json UTF8 String Content
|
|
return new StringContent(jsonObject, Encoding.UTF8, "application/json");
|
|
}
|
|
{{? }}
|
|
/// Deserialize object from request response
|
|
private async Task DeserializeObject(HttpResponseMessage response)
|
|
{
|
|
//Read body
|
|
string responseBody = await response.Content.ReadAsStringAsync();
|
|
|
|
//Deserialize Body to object
|
|
var result = JsonConvert.DeserializeObject(responseBody);
|
|
}
|
|
}
|