-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathHTTPS_Requests.cs
133 lines (117 loc) · 3.95 KB
/
HTTPS_Requests.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Net;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace BasicTwitchSoundPlayer
{
public static class HTTPS_Requests
{
public static async Task<string> PostAsync(string baseUrl, string scope, string parameters, string jsonContent, Dictionary<string, string> requestHeaders)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(baseUrl + scope + parameters);
request.ContentType = "application/json";
request.Method = "POST";
try
{
foreach (var requestHeader in requestHeaders)
request.Headers[requestHeader.Key] = requestHeader.Value;
using (var streamWriter = new StreamWriter(await request.GetRequestStreamAsync()))
{
streamWriter.Write(jsonContent);
}
var httpResponse = (HttpWebResponse)await request.GetResponseAsync();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
return result;
}
}
catch (Exception e)
{
Debug.WriteLine(e);
MessageBox.Show(e.Message);
return "";
}
}
public static async Task<string> PatchAsync(string baseUri, string scope, string parameters, string jsonContent, Dictionary<string, string> Headers)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(baseUri + scope + parameters);
request.ContentType = "application/json";
request.Method = "PATCH";
try
{
foreach (var header in Headers)
request.Headers[header.Key] = header.Value;
using (var streamWriter = new StreamWriter(await request.GetRequestStreamAsync()))
{
streamWriter.Write(jsonContent);
}
var httpResponse = (HttpWebResponse)await request.GetResponseAsync();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
return result;
}
}
catch (Exception e)
{
Debug.WriteLine(e);
MainForm.Instance.ThreadSafeAddPreviewText($"Error with patch request: {e.Message}", LineType.IrcCommand);
return "";
}
}
public static async Task<string> GetAsync(string baseUrl, string scope, string parameters, Dictionary<string, string> requestHeaders, bool returnErrorCode = false)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(baseUrl + scope + parameters);
try
{
foreach (var requestHeader in requestHeaders)
request.Headers[requestHeader.Key] = requestHeader.Value;
request.Timeout = 5000;
request.Method = "GET";
using (HttpWebResponse response = (HttpWebResponse)await request.GetResponseAsync())
using (Stream stream = response.GetResponseStream())
using (StreamReader reader = new StreamReader(stream))
{
return await reader.ReadToEndAsync();
}
}
catch (Exception e)
{
Debug.WriteLine(e);
if (returnErrorCode)
{
return "Error: " + e.Message;
}
return "";
}
}
public static async Task<HttpStatusCode> DeleteAsync(string baseUrl, string scope, string parameters, Dictionary<string, string> requestHeaders)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(baseUrl + scope + parameters);
request.ContentType = "application/json";
request.Method = "DELETE";
try
{
/* request.Headers["Client-ID"] = BASIC_TWITCH_SOUND_PLAYER_CLIENT_ID;
if (!RequireBearerToken)
request.Headers["Authorization"] = "OAuth " + PrivateSettings.GetInstance().UserAuth;
else
request.Headers["Authorization"] = "Bearer " + PrivateSettings.GetInstance().UserAuth;*/
foreach (var requestHeader in requestHeaders)
request.Headers[requestHeader.Key] = requestHeader.Value;
var httpResponse = (HttpWebResponse)await request.GetResponseAsync();
return httpResponse.StatusCode;
}
catch (Exception e)
{
Debug.WriteLine(e);
MessageBox.Show(e.Message);
return HttpStatusCode.BadRequest;
}
}
}
}