Created project architecture
This commit is contained in:
65
utils/Api.cs
Normal file
65
utils/Api.cs
Normal file
@ -0,0 +1,65 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
using models;
|
||||
using UnityEngine;
|
||||
|
||||
namespace utils
|
||||
{
|
||||
public class Api<T>
|
||||
{
|
||||
public static String API_URL = "https://iot.epi.cb85.software";
|
||||
|
||||
public static HttpWebRequest createClient(String suffix) {
|
||||
return (HttpWebRequest)WebRequest.Create(API_URL + suffix);
|
||||
}
|
||||
|
||||
public static T get(String suffix)
|
||||
{
|
||||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(API_URL + suffix);
|
||||
request.Accept = "application/json";
|
||||
request.Method = "POST";
|
||||
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
||||
if (response == null)
|
||||
{
|
||||
throw new Exception("Response is null");
|
||||
}
|
||||
StreamReader reader = new StreamReader(response.GetResponseStream());
|
||||
string jsonResponse = reader.ReadToEnd();
|
||||
T responseData = JsonUtility.FromJson<T>(jsonResponse);
|
||||
return responseData;
|
||||
}
|
||||
|
||||
public static T post(String suffix, String body)
|
||||
{
|
||||
HttpWebRequest request = createClient(suffix);
|
||||
request.ContentType = "application/json";
|
||||
request.Method = "POST";
|
||||
request.Accept = "application/json";
|
||||
|
||||
using (var streamWriter = new StreamWriter(request.GetRequestStream()))
|
||||
{
|
||||
streamWriter.Write(body);
|
||||
}
|
||||
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
||||
StreamReader reader = new StreamReader(response.GetResponseStream());
|
||||
string jsonResponse = reader.ReadToEnd();
|
||||
T responseData = JsonUtility.FromJson<T>(jsonResponse);
|
||||
return responseData;
|
||||
}
|
||||
|
||||
public T send(HttpWebRequest request)
|
||||
{
|
||||
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
||||
if (response == null)
|
||||
{
|
||||
throw new Exception("Response is null");
|
||||
}
|
||||
StreamReader reader = new StreamReader(response.GetResponseStream());
|
||||
string jsonResponse = reader.ReadToEnd();
|
||||
T responseData = JsonUtility.FromJson<T>(jsonResponse);
|
||||
return responseData;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
3
utils/Api.cs.meta
Normal file
3
utils/Api.cs.meta
Normal file
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1294827371cd4417aaab68f1c6736e6d
|
||||
timeCreated: 1679386098
|
Reference in New Issue
Block a user