handle exception in deserializer
This commit is contained in:
parent
10104187d5
commit
66630324d7
1 changed files with 42 additions and 34 deletions
|
@ -1,4 +1,5 @@
|
||||||
using Newtonsoft.Json;
|
using System;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace BirdsiteLive.ActivityPub
|
namespace BirdsiteLive.ActivityPub
|
||||||
{
|
{
|
||||||
|
@ -6,41 +7,48 @@ namespace BirdsiteLive.ActivityPub
|
||||||
{
|
{
|
||||||
public static Activity ProcessActivity(string json)
|
public static Activity ProcessActivity(string json)
|
||||||
{
|
{
|
||||||
var activity = JsonConvert.DeserializeObject<Activity>(json);
|
try
|
||||||
switch (activity.type)
|
|
||||||
{
|
{
|
||||||
case "Follow":
|
var activity = JsonConvert.DeserializeObject<Activity>(json);
|
||||||
return JsonConvert.DeserializeObject<ActivityFollow>(json);
|
switch (activity.type)
|
||||||
case "Undo":
|
{
|
||||||
var a = JsonConvert.DeserializeObject<ActivityUndo>(json);
|
case "Follow":
|
||||||
if(a.apObject.type == "Follow")
|
return JsonConvert.DeserializeObject<ActivityFollow>(json);
|
||||||
return JsonConvert.DeserializeObject<ActivityUndoFollow>(json);
|
case "Undo":
|
||||||
break;
|
var a = JsonConvert.DeserializeObject<ActivityUndo>(json);
|
||||||
case "Accept":
|
if(a.apObject.type == "Follow")
|
||||||
var accept = JsonConvert.DeserializeObject<ActivityAccept>(json);
|
return JsonConvert.DeserializeObject<ActivityUndoFollow>(json);
|
||||||
//var acceptType = JsonConvert.DeserializeObject<Activity>(accept.apObject);
|
break;
|
||||||
switch ((accept.apObject as dynamic).type.ToString())
|
case "Accept":
|
||||||
{
|
var accept = JsonConvert.DeserializeObject<ActivityAccept>(json);
|
||||||
case "Follow":
|
//var acceptType = JsonConvert.DeserializeObject<Activity>(accept.apObject);
|
||||||
var acceptFollow = new ActivityAcceptFollow()
|
switch ((accept.apObject as dynamic).type.ToString())
|
||||||
{
|
{
|
||||||
type = accept.type,
|
case "Follow":
|
||||||
id = accept.id,
|
var acceptFollow = new ActivityAcceptFollow()
|
||||||
actor = accept.actor,
|
|
||||||
context = accept.context,
|
|
||||||
apObject = new ActivityFollow()
|
|
||||||
{
|
{
|
||||||
id = (accept.apObject as dynamic).id?.ToString(),
|
type = accept.type,
|
||||||
type = (accept.apObject as dynamic).type?.ToString(),
|
id = accept.id,
|
||||||
actor = (accept.apObject as dynamic).actor?.ToString(),
|
actor = accept.actor,
|
||||||
context = (accept.apObject as dynamic).context?.ToString(),
|
context = accept.context,
|
||||||
apObject = (accept.apObject as dynamic).@object?.ToString()
|
apObject = new ActivityFollow()
|
||||||
}
|
{
|
||||||
};
|
id = (accept.apObject as dynamic).id?.ToString(),
|
||||||
return acceptFollow;
|
type = (accept.apObject as dynamic).type?.ToString(),
|
||||||
break;
|
actor = (accept.apObject as dynamic).actor?.ToString(),
|
||||||
}
|
context = (accept.apObject as dynamic).context?.ToString(),
|
||||||
break;
|
apObject = (accept.apObject as dynamic).@object?.ToString()
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return acceptFollow;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Console.WriteLine(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|
Loading…
Add table
Reference in a new issue