public Request(byte[] header, ClientRequestBody body, Socket client) { _getArguments = new Hashtable(); _headers = ProcessHeader(header); _body = body; _client = client; }
public Request(byte[] header, ClientRequestBody body, Socket client) { _getArguments = new Hashtable(); _headers = ProcessHeader(header); _body = body; _client = client; }
public ApiReadBodyWrapper(ClientRequestBody body) { _body = body; }
private void WaitForNetworkRequest() { while (ServerShouldBeUp) { _running = true; try { using (var clientSocket = _listeningSocket.Accept()) { var availableBytes = AwaitAvailableBytes(clientSocket, Settings.MAX_HEADER_SIZE); if (availableBytes <= 0) continue; var headerBody = ReadAndBreakApart(clientSocket, availableBytes); var longBody = new ClientRequestBody(headerBody.Body, clientSocket); using (var request = new Request(headerBody.Header, longBody, clientSocket)) { _logger.Debug(" * Client connected / URL: " + request.Url + " / Initial byte count: " + availableBytes); SendResponse(request); } try { clientSocket.Close(); } catch (Exception ex) { _logger.Debug(ex.ToString()); } _logger.Debug(" * Request finished"); _garbage.Collect(); } } catch (SocketException ex) { if (ServerShouldBeUp) _logger.Debug(ex.Message); } catch (Exception ex) { _logger.Debug(ex.Message); } } _logger.Debug("Web server has exited"); _running = false; }