in Include/httpserv_xp.h [721:935]
class __declspec(uuid("7e1c6b38-628f-4e6c-95dc-41237eb7f95e"))
IHttpResponse
{
public:
virtual
HTTP_RESPONSE *
GetRawHttpResponse(
VOID
) = 0;
virtual
const HTTP_RESPONSE *
GetRawHttpResponse(
VOID
) const = 0;
virtual
IHttpCachePolicy *
GetCachePolicy(
VOID
) = 0;
virtual
HRESULT
SetStatus(
IN USHORT statusCode,
IN PCSTR pszReason,
IN USHORT uSubStatus = 0,
IN HRESULT hrErrorToReport = S_OK,
IN IAppHostConfigException *pException = NULL,
IN BOOL fTrySkipCustomErrors = FALSE
) = 0;
virtual
HRESULT
SetHeader(
IN PCSTR pszHeaderName,
IN PCSTR pszHeaderValue,
IN USHORT cchHeaderValue,
IN BOOL fReplace
) = 0;
virtual
HRESULT
SetHeader(
IN HTTP_HEADER_ID ulHeaderIndex,
IN PCSTR pszHeaderValue,
IN USHORT cchHeaderValue,
IN BOOL fReplace
) = 0;
virtual
HRESULT
DeleteHeader(
IN PCSTR pszHeaderName
) = 0;
virtual
HRESULT
DeleteHeader(
IN HTTP_HEADER_ID ulHeaderIndex
) = 0;
virtual
PCSTR
GetHeader(
IN PCSTR pszHeaderName,
OUT USHORT * pcchHeaderValue = NULL
) const = 0;
virtual
PCSTR
GetHeader(
IN HTTP_HEADER_ID ulHeaderIndex,
OUT USHORT * pcchHeaderValue = NULL
) const = 0;
virtual
VOID
Clear(
VOID
) = 0;
virtual
VOID
ClearHeaders(
VOID
) = 0;
virtual
VOID
SetNeedDisconnect(
VOID
) = 0;
virtual
VOID
ResetConnection(
VOID
) = 0;
virtual
VOID
DisableKernelCache(
ULONG reason = 9
) = 0;
virtual
BOOL
GetKernelCacheEnabled(
VOID
) const = 0;
virtual
VOID
SuppressHeaders(
VOID
) = 0;
virtual
BOOL
GetHeadersSuppressed(
VOID
) const = 0;
virtual
HRESULT
Flush(
IN BOOL fAsync,
IN BOOL fMoreData,
OUT DWORD * pcbSent,
OUT BOOL * pfCompletionExpected = NULL
) = 0;
virtual
HRESULT
Redirect(
IN PCSTR pszUrl,
IN BOOL fResetStatusCode = TRUE,
IN BOOL fIncludeParameters = FALSE
) = 0;
virtual
HRESULT
WriteEntityChunkByReference(
IN HTTP_DATA_CHUNK * pDataChunk,
IN LONG lInsertPosition = -1
) = 0;
virtual
HRESULT
WriteEntityChunks(
IN HTTP_DATA_CHUNK * pDataChunks,
IN DWORD nChunks,
IN BOOL fAsync,
IN BOOL fMoreData,
OUT DWORD * pcbSent,
OUT BOOL * pfCompletionExpected = NULL
) = 0;
virtual
VOID
DisableBuffering(
VOID
) = 0;
virtual
VOID
GetStatus(
OUT USHORT * pStatusCode,
OUT USHORT * pSubStatus = NULL,
OUT PCSTR * ppszReason = NULL,
OUT USHORT * pcchReason = NULL,
OUT HRESULT * phrErrorToReport = NULL,
OUT PCWSTR * ppszModule = NULL,
OUT DWORD * pdwNotification = NULL,
OUT IAppHostConfigException ** ppException = NULL,
OUT BOOL * pfTrySkipCustomErrors = NULL
) = 0;
virtual
HRESULT
SetErrorDescription(
IN PCWSTR pszDescription,
IN DWORD cchDescription,
IN BOOL fHtmlEncode = TRUE
) = 0;
virtual
PCWSTR
GetErrorDescription(
OUT DWORD * pcchDescription = NULL
) = 0;
virtual
HRESULT
GetHeaderChanges(
IN DWORD dwOldChangeNumber,
OUT DWORD * pdwNewChangeNumber,
IN OUT PCSTR knownHeaderSnapshot[HttpHeaderResponseMaximum],
IN OUT DWORD * pdwUnknownHeaderSnapshot,
IN OUT PCSTR **ppUnknownHeaderNameSnapshot,
IN OUT PCSTR **ppUnknownHeaderValueSnapshot,
__out_ecount(HttpHeaderResponseMaximum+1)
DWORD diffedKnownHeaderIndices[HttpHeaderResponseMaximum+1],
OUT DWORD * pdwDiffedUnknownHeaders,
OUT DWORD **ppDiffedUnknownHeaderIndices
) = 0;
virtual
VOID
CloseConnection(
VOID
) = 0;
};