Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
Interop.HttpApi Class Reference

Classes

struct  HTTP_BINDING_INFO
 
struct  HTTP_COOKED_URL
 
struct  HTTP_DATA_CHUNK
 
struct  HTTP_KNOWN_HEADER
 
struct  HTTP_REQUEST
 
struct  HTTP_REQUEST_CHANNEL_BIND_STATUS
 
class  HTTP_REQUEST_HEADER_ID
 
struct  HTTP_REQUEST_HEADERS
 
struct  HTTP_RESPONSE
 
class  HTTP_RESPONSE_HEADER_ID
 
struct  HTTP_RESPONSE_HEADERS
 
struct  HTTP_RESPONSE_INFO
 
struct  HTTP_SSL_CLIENT_CERT_INFO
 
struct  HTTP_SSL_INFO
 
struct  HTTP_TIMEOUT_LIMIT_INFO
 
struct  HTTP_TRANSPORT_ADDRESS
 
struct  HTTP_UNKNOWN_HEADER
 
struct  HTTP_VERSION
 
struct  HTTPAPI_VERSION
 
class  SafeLocalFreeChannelBinding
 
struct  SOCKADDR
 

Package Types

enum  HTTP_RESPONSE_INFO_TYPE { HttpResponseInfoTypeMultipleKnownHeaders , HttpResponseInfoTypeAuthenticationProperty , HttpResponseInfoTypeQosProperty }
 
enum  HTTP_DATA_CHUNK_TYPE { HttpDataChunkFromMemory , HttpDataChunkFromFileHandle , HttpDataChunkFromFragmentCache , HttpDataChunkMaximum }
 
enum  HTTP_VERB {
  HttpVerbUnparsed , HttpVerbUnknown , HttpVerbInvalid , HttpVerbOPTIONS ,
  HttpVerbGET , HttpVerbHEAD , HttpVerbPOST , HttpVerbPUT ,
  HttpVerbDELETE , HttpVerbTRACE , HttpVerbCONNECT , HttpVerbTRACK ,
  HttpVerbMOVE , HttpVerbCOPY , HttpVerbPROPFIND , HttpVerbPROPPATCH ,
  HttpVerbMKCOL , HttpVerbLOCK , HttpVerbUNLOCK , HttpVerbSEARCH ,
  HttpVerbMaximum
}
 
enum  HTTP_SERVER_PROPERTY {
  HttpServerAuthenticationProperty , HttpServerLoggingProperty , HttpServerQosProperty , HttpServerTimeoutsProperty ,
  HttpServerQueueLengthProperty , HttpServerStateProperty , HttpServer503VerbosityProperty , HttpServerBindingProperty ,
  HttpServerExtendedAuthenticationProperty , HttpServerListenEndpointProperty , HttpServerChannelBindProperty , HttpServerProtectionLevelProperty
}
 
enum  HTTP_FLAGS : uint {
  NONE = 0u , HTTP_RECEIVE_REQUEST_FLAG_COPY_BODY = 1u , HTTP_RECEIVE_SECURE_CHANNEL_TOKEN = 1u , HTTP_SEND_RESPONSE_FLAG_DISCONNECT = 1u ,
  HTTP_SEND_RESPONSE_FLAG_MORE_DATA = 2u , HTTP_SEND_RESPONSE_FLAG_BUFFER_DATA = 4u , HTTP_SEND_RESPONSE_FLAG_RAW_HEADER = 4u , HTTP_SEND_REQUEST_FLAG_MORE_DATA = 1u ,
  HTTP_PROPERTY_FLAG_PRESENT = 1u , HTTP_INITIALIZE_SERVER = 1u , HTTP_INITIALIZE_CBT = 4u , HTTP_SEND_RESPONSE_FLAG_OPAQUE = 0x40u
}
 
enum  HTTP_TIMEOUT_TYPE {
  EntityBody , DrainEntityBody , RequestQueue , IdleConnection ,
  HeaderWait , MinSendRate
}
 

Package Functions

static uint HttpInitialize (HTTPAPI_VERSION version, uint flags, IntPtr pReserved)
 
static uint HttpSetUrlGroupProperty (ulong urlGroupId, HTTP_SERVER_PROPERTY serverProperty, IntPtr pPropertyInfo, uint propertyInfoLength)
 
static unsafe uint HttpCreateServerSession (HTTPAPI_VERSION version, ulong *serverSessionId, uint reserved)
 
static unsafe uint HttpCreateUrlGroup (ulong serverSessionId, ulong *urlGroupId, uint reserved)
 
static uint HttpCloseUrlGroup (ulong urlGroupId)
 
static unsafe uint HttpCreateRequestQueue (HTTPAPI_VERSION version, string pName, Kernel32.SECURITY_ATTRIBUTES *pSecurityAttributes, uint flags, out HttpRequestQueueV2Handle pReqQueueHandle)
 
static uint HttpAddUrlToUrlGroup (ulong urlGroupId, string pFullyQualifiedUrl, ulong context, uint pReserved)
 
static uint HttpRemoveUrlFromUrlGroup (ulong urlGroupId, string pFullyQualifiedUrl, uint flags)
 
static unsafe uint HttpReceiveHttpRequest (SafeHandle requestQueueHandle, ulong requestId, uint flags, HTTP_REQUEST *pRequestBuffer, uint requestBufferLength, uint *pBytesReturned, NativeOverlapped *pOverlapped)
 
static unsafe uint HttpSendHttpResponse (SafeHandle requestQueueHandle, ulong requestId, uint flags, HTTP_RESPONSE *pHttpResponse, void *pCachePolicy, uint *pBytesSent, Microsoft.Win32.SafeHandles.SafeLocalAllocHandle pRequestBuffer, uint requestBufferLength, NativeOverlapped *pOverlapped, void *pLogData)
 
static unsafe uint HttpWaitForDisconnect (SafeHandle requestQueueHandle, ulong connectionId, NativeOverlapped *pOverlapped)
 
static unsafe uint HttpReceiveRequestEntityBody (SafeHandle requestQueueHandle, ulong requestId, uint flags, void *pEntityBuffer, uint entityBufferLength, out uint bytesReturned, NativeOverlapped *pOverlapped)
 
static unsafe uint HttpSendResponseEntityBody (SafeHandle requestQueueHandle, ulong requestId, uint flags, ushort entityChunkCount, HTTP_DATA_CHUNK *pEntityChunks, uint *pBytesSent, Microsoft.Win32.SafeHandles.SafeLocalAllocHandle pRequestBuffer, uint requestBufferLength, NativeOverlapped *pOverlapped, void *pLogData)
 
static uint HttpCloseRequestQueue (IntPtr pReqQueueHandle)
 
static uint HttpCancelHttpRequest (SafeHandle requestQueueHandle, ulong requestId, IntPtr pOverlapped)
 
static uint HttpCloseServerSession (ulong serverSessionId)
 
static unsafe uint HttpReceiveClientCertificate (SafeHandle requestQueueHandle, ulong connectionId, uint flags, HTTP_SSL_CLIENT_CERT_INFO *pSslClientCertInfo, uint sslClientCertInfoSize, uint *pBytesReceived, NativeOverlapped *pOverlapped)
 
static unsafe uint HttpReceiveClientCertificate (SafeHandle requestQueueHandle, ulong connectionId, uint flags, byte *pSslClientCertInfo, uint sslClientCertInfoSize, uint *pBytesReceived, NativeOverlapped *pOverlapped)
 

Static Package Functions

static unsafe string GetKnownHeader (HTTP_REQUEST *request, int headerIndex)
 
static unsafe string GetVerb (IntPtr memoryBlob, IntPtr originalAddress)
 
static unsafe WebHeaderCollection GetHeaders (IntPtr memoryBlob, IntPtr originalAddress)
 
static unsafe uint GetChunks (IntPtr memoryBlob, IntPtr originalAddress, ref int dataChunkIndex, ref uint dataChunkOffset, byte[] buffer, int offset, int size)
 
static unsafe HTTP_VERB GetKnownVerb (IntPtr memoryBlob, IntPtr originalAddress)
 
static unsafe IPEndPoint GetRemoteEndPoint (IntPtr memoryBlob, IntPtr originalAddress)
 
static unsafe IPEndPoint GetLocalEndPoint (IntPtr memoryBlob, IntPtr originalAddress)
 

Static Package Attributes

static readonly HTTPAPI_VERSION s_version
 
static readonly bool s_supported = InitHttpApi(s_version)
 
static IPEndPoint s_any = new IPEndPoint(IPAddress.Any, 0)
 
static IPEndPoint s_ipv6Any = new IPEndPoint(IPAddress.IPv6Any, 0)
 
static readonly string[] HttpVerbs
 

Static Private Member Functions

static bool InitHttpApi (HTTPAPI_VERSION version)
 
static unsafe string GetKnownHeader (HTTP_REQUEST *request, long fixup, int headerIndex)
 
static unsafe string GetVerb (HTTP_REQUEST *request, long fixup)
 
static unsafe void CopyOutAddress (IntPtr address, ref SocketAddress v4address, ref SocketAddress v6address)
 

Detailed Description

Definition at line 108 of file Interop.cs.


The documentation for this class was generated from the following file: