Index: binary-improvements2/WebServer/src/RequestContext.cs
===================================================================
--- binary-improvements2/WebServer/src/RequestContext.cs	(revision 414)
+++ binary-improvements2/WebServer/src/RequestContext.cs	(revision 415)
@@ -2,6 +2,20 @@
 
 namespace Webserver {
+	public enum ERequestMethod {
+		Other,
+		// ReSharper disable InconsistentNaming
+		GET,
+		PUT,
+		POST,
+		DELETE,
+		HEAD,
+		OPTIONS,
+		// ReSharper restore InconsistentNaming
+		Count
+	}
+	
 	public class RequestContext {
 		public string RequestPath;
+		public readonly ERequestMethod Method;
 		public readonly HttpListenerRequest Request;
 		public readonly HttpListenerResponse Response;
@@ -15,4 +29,13 @@
 			Connection = _connection;
 			PermissionLevel = _permissionLevel;
+			Method = _request.HttpMethod switch {
+				"GET" => ERequestMethod.GET,
+				"PUT" => ERequestMethod.PUT,
+				"POST" => ERequestMethod.POST,
+				"DELETE" => ERequestMethod.DELETE,
+				"HEAD" => ERequestMethod.HEAD,
+				"OPTIONS" => ERequestMethod.OPTIONS,
+				_ => ERequestMethod.Other
+			};
 		}
 	}
Index: binary-improvements2/WebServer/src/Web.cs
===================================================================
--- binary-improvements2/WebServer/src/Web.cs	(revision 414)
+++ binary-improvements2/WebServer/src/Web.cs	(revision 415)
@@ -233,4 +233,9 @@
 
 				RequestContext context = new RequestContext (requestPath, request, response, conn, permissionLevel);
+
+				if (context.Method == ERequestMethod.Other) {
+					context.Response.StatusCode = (int)HttpStatusCode.BadRequest;
+					return;
+				}
 				
 				ApplyPathHandler (context);
