<Type Name="HttpServer" FullName="WebSocketSharp.Server.HttpServer">
  <TypeSignature Language="C#" Value="public class HttpServer" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit HttpServer extends System.Object" />
  <AssemblyInfo>
    <AssemblyName>websocket-sharp</AssemblyName>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <summary>
            Provides a simple HTTP server that allows to accept the WebSocket connection requests.
            </summary>
    <remarks>
      <para>
            The HttpServer class provides the multi WebSocket service.
            </para>
      <para>
        <para>
            The HttpServer class needs the application configuration file to configure the server root path.
            </para>
        <code lang="xml">
            &lt;?xml version="1.0" encoding="utf-8"?&gt;
            &lt;configuration&gt;
            &lt;appSettings&gt;
            &lt;add key="RootPath" value="./Public" /&gt;
            &lt;/appSettings&gt;
            &lt;/configuration&gt;
            </code>
      </para>
    </remarks>
    <code>
            &lt;?xml version="1.0" encoding="utf-8"?&gt;
            &lt;configuration&gt;
            &lt;appSettings&gt;
            &lt;add key="RootPath" value="../../Public" /&gt;
            &lt;/appSettings&gt;
            &lt;/configuration&gt;
            </code>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public HttpServer ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
      <MemberType>Constructor</MemberType>
      <Parameters />
      <Docs>
        <summary>
            Initializes a new instance of the <see cref="T:WebSocketSharp.Server.HttpServer" /> class that listens for incoming requests
            on port 80.
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public HttpServer (int port);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(int32 port) cil managed" />
      <MemberType>Constructor</MemberType>
      <Parameters>
        <Parameter Name="port" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="port">
            An <see cref="T:System.Int32" /> that contains a port number.
            </param>
        <summary>
            Initializes a new instance of the <see cref="T:WebSocketSharp.Server.HttpServer" /> class that listens for incoming requests
            on the specified <paramref name="port" />.
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="AddWebSocketService&lt;T&gt;">
      <MemberSignature Language="C#" Value="public void AddWebSocketService&lt;T&gt; (string absPath) where T : WebSocketSharp.Server.WebSocketServicenew();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void AddWebSocketService&lt;.ctor (class WebSocketSharp.Server.WebSocketService) T&gt;(string absPath) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <TypeParameters>
        <TypeParameter Name="T">
          <Constraints>
            <ParameterAttribute>DefaultConstructorConstraint</ParameterAttribute>
            <BaseTypeName>WebSocketSharp.Server.WebSocketService</BaseTypeName>
          </Constraints>
        </TypeParameter>
      </TypeParameters>
      <Parameters>
        <Parameter Name="absPath" Type="System.String" />
      </Parameters>
      <Docs>
        <typeparam name="T">
            The type of the WebSocket service. The T must inherit the <see cref="T:WebSocketSharp.Server.WebSocketService" /> class.
            </typeparam>
        <param name="absPath">
            A <see cref="T:System.String" /> that contains an absolute path associated with the WebSocket service.
            </param>
        <summary>
            Adds the specified type WebSocket service.
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetFile">
      <MemberSignature Language="C#" Value="public byte[] GetFile (string path);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance unsigned int8[] GetFile(string path) cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Byte[]</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="path" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="path">
            A <see cref="T:System.String" /> that contains a virtual path to the file to get.
            </param>
        <summary>
            Gets the contents of the specified file.
            </summary>
        <returns>
            An array of <see cref="T:System.Byte" /> that contains the contents of the file.
            </returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnConnect">
      <MemberSignature Language="C#" Value="public event EventHandler&lt;WebSocketSharp.Server.HttpRequestEventArgs&gt; OnConnect;" />
      <MemberSignature Language="ILAsm" Value=".event class System.EventHandler`1&lt;class WebSocketSharp.Server.HttpRequestEventArgs&gt; OnConnect" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler&lt;WebSocketSharp.Server.HttpRequestEventArgs&gt;</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
            Occurs when the server receives an HTTP CONNECT request.
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnDelete">
      <MemberSignature Language="C#" Value="public event EventHandler&lt;WebSocketSharp.Server.HttpRequestEventArgs&gt; OnDelete;" />
      <MemberSignature Language="ILAsm" Value=".event class System.EventHandler`1&lt;class WebSocketSharp.Server.HttpRequestEventArgs&gt; OnDelete" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler&lt;WebSocketSharp.Server.HttpRequestEventArgs&gt;</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
            Occurs when the server receives an HTTP DELETE request.
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnError">
      <MemberSignature Language="C#" Value="public event EventHandler&lt;WebSocketSharp.ErrorEventArgs&gt; OnError;" />
      <MemberSignature Language="ILAsm" Value=".event class System.EventHandler`1&lt;class WebSocketSharp.ErrorEventArgs&gt; OnError" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler&lt;WebSocketSharp.ErrorEventArgs&gt;</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
            Occurs when the server gets an error.
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnGet">
      <MemberSignature Language="C#" Value="public event EventHandler&lt;WebSocketSharp.Server.HttpRequestEventArgs&gt; OnGet;" />
      <MemberSignature Language="ILAsm" Value=".event class System.EventHandler`1&lt;class WebSocketSharp.Server.HttpRequestEventArgs&gt; OnGet" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler&lt;WebSocketSharp.Server.HttpRequestEventArgs&gt;</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
            Occurs when the server receives an HTTP GET request.
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnHead">
      <MemberSignature Language="C#" Value="public event EventHandler&lt;WebSocketSharp.Server.HttpRequestEventArgs&gt; OnHead;" />
      <MemberSignature Language="ILAsm" Value=".event class System.EventHandler`1&lt;class WebSocketSharp.Server.HttpRequestEventArgs&gt; OnHead" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler&lt;WebSocketSharp.Server.HttpRequestEventArgs&gt;</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
            Occurs when the server receives an HTTP HEAD request.
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnOptions">
      <MemberSignature Language="C#" Value="public event EventHandler&lt;WebSocketSharp.Server.HttpRequestEventArgs&gt; OnOptions;" />
      <MemberSignature Language="ILAsm" Value=".event class System.EventHandler`1&lt;class WebSocketSharp.Server.HttpRequestEventArgs&gt; OnOptions" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler&lt;WebSocketSharp.Server.HttpRequestEventArgs&gt;</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
            Occurs when the server receives an HTTP OPTIONS request.
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnPatch">
      <MemberSignature Language="C#" Value="public event EventHandler&lt;WebSocketSharp.Server.HttpRequestEventArgs&gt; OnPatch;" />
      <MemberSignature Language="ILAsm" Value=".event class System.EventHandler`1&lt;class WebSocketSharp.Server.HttpRequestEventArgs&gt; OnPatch" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler&lt;WebSocketSharp.Server.HttpRequestEventArgs&gt;</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
            Occurs when the server receives an HTTP PATCH request.
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnPost">
      <MemberSignature Language="C#" Value="public event EventHandler&lt;WebSocketSharp.Server.HttpRequestEventArgs&gt; OnPost;" />
      <MemberSignature Language="ILAsm" Value=".event class System.EventHandler`1&lt;class WebSocketSharp.Server.HttpRequestEventArgs&gt; OnPost" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler&lt;WebSocketSharp.Server.HttpRequestEventArgs&gt;</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
            Occurs when the server receives an HTTP POST request.
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnPut">
      <MemberSignature Language="C#" Value="public event EventHandler&lt;WebSocketSharp.Server.HttpRequestEventArgs&gt; OnPut;" />
      <MemberSignature Language="ILAsm" Value=".event class System.EventHandler`1&lt;class WebSocketSharp.Server.HttpRequestEventArgs&gt; OnPut" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler&lt;WebSocketSharp.Server.HttpRequestEventArgs&gt;</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
            Occurs when the server receives an HTTP PUT request.
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="OnTrace">
      <MemberSignature Language="C#" Value="public event EventHandler&lt;WebSocketSharp.Server.HttpRequestEventArgs&gt; OnTrace;" />
      <MemberSignature Language="ILAsm" Value=".event class System.EventHandler`1&lt;class WebSocketSharp.Server.HttpRequestEventArgs&gt; OnTrace" />
      <MemberType>Event</MemberType>
      <ReturnValue>
        <ReturnType>System.EventHandler&lt;WebSocketSharp.Server.HttpRequestEventArgs&gt;</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
            Occurs when the server receives an HTTP TRACE request.
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Port">
      <MemberSignature Language="C#" Value="public int Port { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance int32 Port" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
            Gets the port on which to listen for incoming requests.
            </summary>
        <value>
            An <see cref="T:System.Int32" /> that contains a port number.
            </value>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ServicePaths">
      <MemberSignature Language="C#" Value="public System.Collections.Generic.IEnumerable&lt;string&gt; ServicePaths { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.Collections.Generic.IEnumerable`1&lt;string&gt; ServicePaths" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Collections.Generic.IEnumerable&lt;System.String&gt;</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
            Gets the collection of paths associated with the every WebSocket services that the server provides.
            </summary>
        <value>
            An IEnumerable&lt;string&gt; that contains the collection of paths.
            </value>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Start">
      <MemberSignature Language="C#" Value="public void Start ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Start() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
            Starts the <see cref="T:WebSocketSharp.Server.HttpServer" />.
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Stop">
      <MemberSignature Language="C#" Value="public void Stop ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Stop() cil managed" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
            Shuts down the <see cref="T:WebSocketSharp.Server.HttpServer" />.
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Sweeped">
      <MemberSignature Language="C#" Value="public bool Sweeped { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool Sweeped" />
      <MemberType>Property</MemberType>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
            Gets or sets a value indicating whether the server cleans up the inactive WebSocket service instances periodically.
            </summary>
        <value>
          <c>true</c> if the server cleans up the inactive WebSocket service instances every 60 seconds;
            otherwise, <c>false</c>. The default value is <c>true</c>.
            </value>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
  </Members>
</Type>
