本文整理汇总了C#中HttpServer.HttpServer类的典型用法代码示例。如果您正苦于以下问题:C# HttpServer类的具体用法?C# HttpServer怎么用?C# HttpServer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
HttpServer类属于HttpServer命名空间,在下文中一共展示了HttpServer类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Process
public override bool Process(HttpServer.IHttpRequest request, HttpServer.IHttpResponse response, HttpServer.Sessions.IHttpSession session)
{
var path = this.GetPath(request.Uri);
var html = System.IO.Path.Combine(path, "index.html");
var htm = System.IO.Path.Combine(path, "index.htm");
if (System.IO.Directory.Exists(path) && (System.IO.File.Exists(html) || System.IO.File.Exists(htm)))
{
if (!request.Uri.AbsolutePath.EndsWith("/"))
{
response.Redirect(request.Uri.AbsolutePath + "/");
return true;
}
response.Status = System.Net.HttpStatusCode.OK;
response.Reason = "OK";
response.ContentType = "text/html; charset=utf-8";
using (var fs = System.IO.File.OpenRead(System.IO.File.Exists(html) ? html : htm))
{
response.ContentLength = fs.Length;
response.Body = fs;
response.Send();
}
return true;
}
return false;
}
示例2: OnRequest
private void OnRequest(object sender, HttpServer.RequestEventArgs e)
{
string[] paramss = e.Request.UriParts;
HttpServer.IHttpResponse resp = e.Request.CreateResponse((IHttpClientContext)sender);
if (paramss[0] == "favicon.ico")
{
reactFavIco(resp);
}
if (paramss[0] == "fire")
{
reactFire(resp);
}
if (paramss[0] == "move")
{
reactMove(resp,paramss[1]);
}
if (paramss[0] == "laser")
{
reactLaser(resp);
}
if (paramss[0] == "reset")
{
reactReset(resp);
}
}
示例3: HandleCreateAccount
private static string HandleCreateAccount(HttpServer server, HttpListenerRequest request, Dictionary<string, string> parameters)
{
if (!parameters.ContainsKey("username")) throw new Exception("Missing username.");
if (!parameters.ContainsKey("password")) throw new Exception("Missing password.");
string username = parameters["username"];
string password = parameters["password"];
if (Databases.AccountTable.Count(a => a.Username.ToLower() == username.ToLower()) > 0) return JsonEncode("Username already in use!");
System.Text.RegularExpressions.Regex invalidCharacterRegex = new System.Text.RegularExpressions.Regex("[^a-zA-Z0-9]");
if (invalidCharacterRegex.IsMatch(username)) return JsonEncode("Invalid characters detected in username!");
Random getrandom = new Random();
String token = getrandom.Next(10000000, 99999999).ToString();
AccountEntry entry = new AccountEntry();
entry.Index = Databases.AccountTable.GenerateIndex();
entry.Username = username;
entry.Password = password;
entry.Verifier = "";
entry.Salt = "";
entry.RTW_Points = 0;
entry.IsAdmin = 0;
entry.IsBanned = 0;
entry.InUse = 0;
entry.extrn_login = 0;
entry.CanHostDistrict = 1;
entry.Token = token;
Databases.AccountTable.Add(entry);
Log.Succes("HTTP", "Successfully created account '" + username + "'");
return JsonEncode("Account created!\n\nYour token is: " + token + ".\nCopy and paste given token in \"_rtoken.id\" file and put it in the same folder where your \"APB.exe\" is located.");
}
示例4: DefaultRackServer
public DefaultRackServer(int port,IPAddress ipAddress,ILogWriter logWriter)
{
_server = new HttpServer.HttpServer(logWriter);
_ipAddress = ipAddress;
_port = port;
_logWriter = logWriter;
}
示例5: ResourceServer
public ResourceServer()
{
_httpServerV4 = new HttpServer.HttpServer(new HttpLogWriter());
_httpServerV6 = new HttpServer.HttpServer(new HttpLogWriter());
ResourceAccessModule module = new ResourceAccessModule();
AddHttpModule(module);
}
示例6: HttpRequest
bool _streamingrequestbody; // indicates that request body can be streamed by user
#endregion Fields
#region Constructors
internal HttpRequest(HttpServer._Connection connection, HttpMethod method, string rawpath)
{
_connection = connection;
_method = method;
_rawpath = rawpath;
int iof = rawpath.IndexOf('?');
_path = iof >= 0 ? rawpath.Substring(0, iof) : rawpath;
}
示例7: Run
public void Run(IBackgroundTaskInstance taskInstance)
{
// Get the deferral object from the task instance
serviceDeferral = taskInstance.GetDeferral();
httpServer = new HttpServer(8000);
httpServer.StartServer();
}
示例8: ObjectForScripting
public ObjectForScripting()
{
httpServer = new HttpServer.HttpServer();
ajaxObjectForScripting = new AjaxObjectForScripting(this);
httpServer.Add(ajaxObjectForScripting);
httpServer.Start(IPAddress.Any, 50505);
httpServer.BackLog = 5;
}
示例9: WebService
private WebService()
{
this._server = new H.HttpServer();
var res = new ResourceFileModule();
res.AddResources("/", typeof(WebService).Assembly, "XSpect.Contributions.Solar.Resources.Documents");
this._server.Add(res);
this._server.Add(new RequestHandler());
this.Configuration = new ExpandoObject();
}
示例10: PollServiceHttpRequest
public PollServiceHttpRequest(
PollServiceEventArgs pPollServiceArgs, HttpServerLib.HttpClientContext pHttpContext, HttpServerLib.HttpRequest pRequest)
{
PollServiceArgs = pPollServiceArgs;
HttpContext = pHttpContext;
Request = pRequest;
RequestTime = System.Environment.TickCount;
RequestID = UUID.Random();
}
示例11: Main
private static void Main(string[] args)
{
var config = new DefaultHttpServerConfiguration() { Port = 8080, Handler = new DefaultHtmlRequestHandler("U:/CustomServer", new[] { "index.html", "default.html" }) };
var server = new HttpServer(config);
server.ConnectionEstablished += Server_ConnectionEstablished;
server.ConnectionLost += Server_ConnectionLost;
server.MessageSent += server_MessageSent;
server.MessageReceived += server_MessageReceived;
server.Start();
Thread.Sleep(new TimeSpan(0,5,0));
server.Stop();
}
示例12: Main
static void Main(string[] args)
{
if (!EasyServer.InitConfig("Configs/Database.xml", "Database")) return;
Databases.InitDB();
Databases.Load();
HttpServer.MapHandlers();
HttpServer server = new HttpServer();
server.Start();
Timer aTimer = new Timer(10000);
aTimer.Elapsed += OnTimedEvent;
aTimer.AutoReset = true;
aTimer.Enabled = true;
Console.ReadLine();
}
示例13: AddXSRFTokenToRespone
private bool AddXSRFTokenToRespone(HttpServer.IHttpResponse response)
{
if (m_activexsrf.Count > 500)
return false;
var buf = new byte[32];
var expires = DateTime.UtcNow.AddMinutes(XSRF_TIMEOUT_MINUTES);
m_prng.GetBytes(buf);
var token = Convert.ToBase64String(buf);
m_activexsrf.Add(token, expires);
response.Cookies.Add(new HttpServer.ResponseCookie(XSRF_COOKIE_NAME, token, expires));
return true;
}
示例14: FindAuthCookie
private string FindAuthCookie(HttpServer.IHttpRequest request)
{
var authcookie = request.Cookies[AUTH_COOKIE_NAME] ?? request.Cookies[Library.Utility.Uri.UrlEncode(AUTH_COOKIE_NAME)];
var authform = request.Form["auth-token"] ?? request.Form[Library.Utility.Uri.UrlEncode("auth-token")];
var authquery = request.QueryString["auth-token"] ?? request.QueryString[Library.Utility.Uri.UrlEncode("auth-token")];
var auth_token = authcookie == null || string.IsNullOrWhiteSpace(authcookie.Value) ? null : authcookie.Value;
if (authquery != null && !string.IsNullOrWhiteSpace(authquery.Value))
auth_token = authquery["auth-token"].Value;
if (authform != null && !string.IsNullOrWhiteSpace(authform.Value))
auth_token = authform["auth-token"].Value;
return auth_token;
}
示例15: Form1_Load
private void Form1_Load(object sender, EventArgs e)
{
client = new WebClient();
client.Encoding = Encoding.UTF8;
var info = new OBBInfo();
info.ip = IPAddress.Loopback.ToString();
info.notifyPort = Settings.Default.notifyPort;
info.servicePort = Settings.Default.servicePort;
info.serviceRoot = Settings.Default.serviceRoot;
if (String.IsNullOrWhiteSpace(info.serviceRoot))
info.serviceRoot = Environment.CurrentDirectory;
OBBContext.Current.Info = info;
OBBContext.Current.Mode = Settings.Default.mode;
server = new HttpServer.HttpServer();
var fileModule = new FileModule("/", OBBContext.Current.Info.serviceRoot);
var myModule = new MyModule();
fileModule.AddDefaultMimeTypes();
server.Add(myModule);
server.Add(fileModule);
server.Start(IPAddress.Any, OBBContext.Current.Info.servicePort);
if (OBBContext.Current.IsMaster)
{
OBBContext.Current.MasterInfo = OBBContext.Current.Info;
notifyIcon1.Icon = Resources.master;
var port = IPAddress.HostToNetworkOrder(OBBContext.Current.Info.servicePort);
byte[] portData = BitConverter.GetBytes(port);
notify = new UdpNotify(OBBContext.Current.Info.notifyPort, portData);
}
else
{
OBBContext.Current.LoadGameConfig();
notifyIcon1.Icon = Resources.slave;
notify = new UdpNotify(OBBContext.Current.Info.notifyPort);
notify.OnData += Notify_OnData;
}
this.Text = OBBContext.Current.Mode.ToString();
notifyIcon1.Text = OBBContext.Current.Mode.ToString();
refreshTimer.Start();
button1.Enabled = OBBContext.Current.IsMaster;
}