mirror of
https://github.com/PepperDash/PepperDashCore.git
synced 2026-02-15 20:54:46 +00:00
Mods to web api for https
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,11 @@
|
|||||||
|
1/11/2017 2:54:45 PM, Info: Initializing SIMPLSharp Services...
|
||||||
|
1/11/2017 2:54:46 PM, Info: ProjectInfo successfully initialized.
|
||||||
|
1/11/2017 3:07:48 PM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\pepperdash-simplsharp-core\Pepperdash Core\Pepperdash Core\bin\PepperDash_Core.dll...
|
||||||
|
1/11/2017 3:07:48 PM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\pepperdash-simplsharp-core\Pepperdash Core\Pepperdash Core\bin\PepperDash_Core.dll
|
||||||
|
1/11/2017 3:07:48 PM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\pepperdash-simplsharp-core\Pepperdash Core\Pepperdash Core\bin\PepperDash_Core.clz...
|
||||||
|
1/11/2017 3:07:49 PM, Info: Saving project information...
|
||||||
|
1/11/2017 3:24:24 PM, Info: Validating assembly C:\Users\hvolmer\Desktop\working\pepperdash-simplsharp-core\Pepperdash Core\Pepperdash Core\bin\PepperDash_Core.dll...
|
||||||
|
1/11/2017 3:24:24 PM, Info: Verifying assembly C:\Users\hvolmer\Desktop\working\pepperdash-simplsharp-core\Pepperdash Core\Pepperdash Core\bin\PepperDash_Core.dll
|
||||||
|
1/11/2017 3:24:24 PM, Info: Creating Archive C:\Users\hvolmer\Desktop\working\pepperdash-simplsharp-core\Pepperdash Core\Pepperdash Core\bin\PepperDash_Core.clz...
|
||||||
|
1/11/2017 3:24:25 PM, Info: Saving project information...
|
||||||
|
1/11/2017 4:49:12 PM, Info: Terminating SIMPLSharp Services
|
||||||
@@ -4,6 +4,7 @@ using Crestron.SimplSharp; // For Basic SIMPL# Clas
|
|||||||
using Crestron.SimplSharp.CrestronIO;
|
using Crestron.SimplSharp.CrestronIO;
|
||||||
using Crestron.SimplSharp.Net;
|
using Crestron.SimplSharp.Net;
|
||||||
using Crestron.SimplSharp.Net.Http;
|
using Crestron.SimplSharp.Net.Http;
|
||||||
|
using Crestron.SimplSharp.Net.Https;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
|
|
||||||
@@ -59,31 +60,35 @@ namespace PepperDash.Core.WebApi.Presets
|
|||||||
|
|
||||||
public void GetUserForPasscode(string passcode)
|
public void GetUserForPasscode(string passcode)
|
||||||
{
|
{
|
||||||
|
// Bullshit duplicate code here... These two cases should be the same
|
||||||
|
// except for https/http and the certificate ignores
|
||||||
|
if (!UrlBase.StartsWith("https"))
|
||||||
|
return;
|
||||||
|
var req = new HttpsClientRequest();
|
||||||
|
req.Url = new UrlParser(UrlBase + "/api/users/dopin");
|
||||||
|
req.RequestType = Crestron.SimplSharp.Net.Https.RequestType.Post;
|
||||||
|
req.Header.AddHeader(new HttpsHeader("Content-Type", "application/json"));
|
||||||
|
req.Header.AddHeader(new HttpsHeader("Accept", "application/json"));
|
||||||
|
var jo = new JObject();
|
||||||
|
jo.Add("pin", passcode);
|
||||||
|
req.ContentString = jo.ToString();
|
||||||
|
|
||||||
|
var client = new HttpsClient();
|
||||||
var req = new HttpClientRequest();
|
client.HostVerification = false;
|
||||||
req.Url = new UrlParser(UrlBase + "/api/users/dopin");
|
client.PeerVerification = false;
|
||||||
req.RequestType = RequestType.Post;
|
var resp = client.Dispatch(req);
|
||||||
req.Header.AddHeader(new HttpHeader("Content-Type", "application/json"));
|
if (resp.Code == 200)
|
||||||
req.Header.AddHeader(new HttpHeader("Accept", "application/json"));
|
{
|
||||||
var jo = new JObject();
|
CrestronConsole.PrintLine("Received: {0}", resp.ContentString);
|
||||||
jo.Add("pin", passcode);
|
var user = JsonConvert.DeserializeObject<User>(resp.ContentString);
|
||||||
req.ContentString = jo.ToString();
|
|
||||||
|
|
||||||
var client = new HttpClient();
|
|
||||||
var resp = client.Dispatch(req);
|
|
||||||
if (resp.Code == 200)
|
|
||||||
{
|
|
||||||
CrestronConsole.PrintLine("Received: {0}", resp.ContentString);
|
|
||||||
var user = JsonConvert.DeserializeObject<User>(resp.ContentString);
|
|
||||||
#warning CHECK for user success here??
|
#warning CHECK for user success here??
|
||||||
CurrentUser = user;
|
CurrentUser = user;
|
||||||
var handler = UserReceived;
|
var handler = UserReceived;
|
||||||
if (handler != null)
|
if (handler != null)
|
||||||
UserReceived(this, new UserReceivedEventArgs(user));
|
UserReceived(this, new UserReceivedEventArgs(user));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
CrestronConsole.PrintLine("No user received: {0}", resp.Code);
|
CrestronConsole.PrintLine("No user received: {0}", resp.Code);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -106,37 +111,41 @@ namespace PepperDash.Core.WebApi.Presets
|
|||||||
PresetNumber = presetNumber
|
PresetNumber = presetNumber
|
||||||
};
|
};
|
||||||
|
|
||||||
var req = new HttpClientRequest();
|
|
||||||
req.Url = new UrlParser(UrlBase + "/api/presets/userandroom");
|
|
||||||
req.RequestType = RequestType.Post;
|
|
||||||
req.Header.AddHeader(new HttpHeader("Content-Type", "application/json"));
|
|
||||||
req.Header.AddHeader(new HttpHeader("Accept", "application/json"));
|
|
||||||
req.ContentString = JsonConvert.SerializeObject(msg);
|
|
||||||
|
|
||||||
var client = new HttpClient();
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var resp = client.Dispatch(req);
|
if (!UrlBase.StartsWith("https"))
|
||||||
if (resp.Code == 200)
|
return;
|
||||||
{
|
var req = new HttpsClientRequest();
|
||||||
Debug.Console(1, this, "Received: {0}", resp.ContentString);
|
req.Url = new UrlParser(UrlBase + "/api/presets/userandroom");
|
||||||
var preset = JsonConvert.DeserializeObject<Preset>(resp.ContentString);
|
req.RequestType = Crestron.SimplSharp.Net.Https.RequestType.Post;
|
||||||
|
req.Header.AddHeader(new HttpsHeader("Content-Type", "application/json"));
|
||||||
|
req.Header.AddHeader(new HttpsHeader("Accept", "application/json"));
|
||||||
|
req.ContentString = JsonConvert.SerializeObject(msg);
|
||||||
|
|
||||||
CurrentPreset = preset;
|
var client = new HttpsClient();
|
||||||
|
client.HostVerification = false;
|
||||||
|
client.PeerVerification = false;
|
||||||
|
var resp = client.Dispatch(req);
|
||||||
|
if (resp.Code == 200)
|
||||||
|
{
|
||||||
|
Debug.Console(1, this, "Received: {0}", resp.ContentString);
|
||||||
|
var preset = JsonConvert.DeserializeObject<Preset>(resp.ContentString);
|
||||||
|
|
||||||
//if there's no preset data, load the template
|
CurrentPreset = preset;
|
||||||
if (preset.Data == null || preset.Data.Trim() == string.Empty || JObject.Parse(preset.Data).Count == 0)
|
|
||||||
{
|
|
||||||
Debug.Console(1, this, "Loaded preset has no data. Loading default template.");
|
|
||||||
LoadDefaultPresetData();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
J2SMaster.LoadWithJson(preset.Data);
|
//if there's no preset data, load the template
|
||||||
var handler = PresetReceived;
|
if (preset.Data == null || preset.Data.Trim() == string.Empty || JObject.Parse(preset.Data).Count == 0)
|
||||||
if (handler != null)
|
{
|
||||||
PresetReceived(this, new PresetReceivedEventArgs(preset));
|
Debug.Console(1, this, "Loaded preset has no data. Loading default template.");
|
||||||
}
|
LoadDefaultPresetData();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
J2SMaster.LoadWithJson(preset.Data);
|
||||||
|
var handler = PresetReceived;
|
||||||
|
if (handler != null)
|
||||||
|
PresetReceived(this, new PresetReceivedEventArgs(preset));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch (HttpException e)
|
catch (HttpException e)
|
||||||
{
|
{
|
||||||
@@ -198,14 +207,18 @@ namespace PepperDash.Core.WebApi.Presets
|
|||||||
{
|
{
|
||||||
CurrentPreset.Data = json;
|
CurrentPreset.Data = json;
|
||||||
|
|
||||||
var req = new HttpClientRequest();
|
if (!UrlBase.StartsWith("https"))
|
||||||
req.RequestType = RequestType.Post;
|
return;
|
||||||
|
var req = new HttpsClientRequest();
|
||||||
|
req.RequestType = Crestron.SimplSharp.Net.Https.RequestType.Post;
|
||||||
req.Url = new UrlParser(string.Format("{0}/api/presets/addorchange", UrlBase));
|
req.Url = new UrlParser(string.Format("{0}/api/presets/addorchange", UrlBase));
|
||||||
req.Header.AddHeader(new HttpHeader("Content-Type", "application/json"));
|
req.Header.AddHeader(new HttpsHeader("Content-Type", "application/json"));
|
||||||
req.Header.AddHeader(new HttpHeader("Accept", "application/json"));
|
req.Header.AddHeader(new HttpsHeader("Accept", "application/json"));
|
||||||
req.ContentString = JsonConvert.SerializeObject(CurrentPreset);
|
req.ContentString = JsonConvert.SerializeObject(CurrentPreset);
|
||||||
|
|
||||||
var client = new HttpClient();
|
var client = new HttpsClient();
|
||||||
|
client.HostVerification = false;
|
||||||
|
client.PeerVerification = false;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var resp = client.Dispatch(req);
|
var resp = client.Dispatch(req);
|
||||||
|
|||||||
Binary file not shown.
@@ -10,8 +10,8 @@
|
|||||||
<ArchiveName />
|
<ArchiveName />
|
||||||
</RequiredInfo>
|
</RequiredInfo>
|
||||||
<OptionalInfo>
|
<OptionalInfo>
|
||||||
<CompiledOn>1/6/2017 8:53:46 AM</CompiledOn>
|
<CompiledOn>1/11/2017 3:24:24 PM</CompiledOn>
|
||||||
<CompilerRev>1.0.6215.16012</CompilerRev>
|
<CompilerRev>1.0.6220.27731</CompilerRev>
|
||||||
</OptionalInfo>
|
</OptionalInfo>
|
||||||
<Plugin>
|
<Plugin>
|
||||||
<Version>Crestron.SIMPLSharp, Version=2.0.48.0, Culture=neutral, PublicKeyToken=812d080f93e2de10</Version>
|
<Version>Crestron.SIMPLSharp, Version=2.0.48.0, Culture=neutral, PublicKeyToken=812d080f93e2de10</Version>
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -1,4 +1,4 @@
|
|||||||
MainAssembly=PepperDash_Core.dll:5310f2702bb23a35bd60cde6a14b55ba
|
MainAssembly=PepperDash_Core.dll:2ce705d0617973f5c800064ef6bd32cd
|
||||||
MainAssemblyMinFirmwareVersion=1.007.0017
|
MainAssemblyMinFirmwareVersion=1.007.0017
|
||||||
MainAssemblyResource=SimplSharpData.dat:315526abf906cded47fb0c7510266a7e
|
MainAssemblyResource=SimplSharpData.dat:315526abf906cded47fb0c7510266a7e
|
||||||
ü
|
ü
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user