public WebServer(string ip, int port, string urlPrefix = null) { if (!string.IsNullOrEmpty(urlPrefix)) { if (!urlPrefix.EndsWith("/")) { _urlPrefix = urlPrefix + "/"; } } Cache = new HttpListenerRequestCache(_urlPrefix); var prefix = "http://" + ip + ":" + port + "/"; Logger.Debug("Listening on: " + prefix); Logger.Debug("Url Prefix: " + _urlPrefix); _requestHandlers = new List <IApiRequestResponse>(); _urlParser = new Requesturl(prefix); _listener.Prefixes.Add(prefix); _listener.Start(); }
protected ApiRequestResponse(string urlPattern, HttpListenerRequestCache cache = null) { UrlPattern = urlPattern; Cache = cache; var urlParts = urlPattern.Split("/"); var i = 0; foreach (var part in urlParts) { if (part.StartsWith("{")) { _parameterIndexes.Add(i); } i++; } }
protected ApiPostRequestResponse(string urlPattern, HttpListenerRequestCache cache = null) : base(urlPattern, cache) { }