86 lines
2.2 KiB
C
86 lines
2.2 KiB
C
/*++
|
||
|
||
Copyright (c) 1994 Microsoft Corporation
|
||
|
||
Module Name:
|
||
|
||
w3min.c
|
||
|
||
Abstract:
|
||
|
||
This module demonstrates a minimal HTTP Server Extension gateway
|
||
|
||
Author:
|
||
|
||
John Ludeman (johnl) 13-Oct-1994
|
||
|
||
Revision History:
|
||
--*/
|
||
|
||
#include <windows.h>
|
||
#include <httpext.h>
|
||
|
||
|
||
#define END_OF_DOC "End of document"
|
||
|
||
DWORD
|
||
HttpExtensionProc(
|
||
EXTENSION_CONTROL_BLOCK * pecb
|
||
)
|
||
{
|
||
char buff[2048];
|
||
int cb = sizeof(END_OF_DOC) - 1;
|
||
|
||
//
|
||
// Note the HTTP header block is terminated by a blank '\r\n' pair,
|
||
// followed by the document body
|
||
//
|
||
|
||
wsprintf( buff,
|
||
"Content-Type: text/html\r\n"
|
||
"\r\n"
|
||
"<head><title>Minimal Server Extension Example</title></head>\n"
|
||
"<body><h1>Minimal Server Extension Example (BGI)</h1>\n"
|
||
"<p>Method = %s\n"
|
||
"<p>Query String = %s\n"
|
||
"<p>Path Info = %s\n"
|
||
"<p>Translated Path Info = %s\n"
|
||
"<p>"
|
||
"<p>"
|
||
"<form METHOD=\"POST\" ACTION=\"/scripts/w3min.dll/PathInfo/foo\">"
|
||
"Enter your name: <input text name=\"Name\" size=36><br>"
|
||
"<input type=\"submit\" value=\"Do Query\">"
|
||
"</body>",
|
||
pecb->lpszMethod,
|
||
pecb->lpszQueryString,
|
||
pecb->lpszPathInfo,
|
||
pecb->lpszPathTranslated );
|
||
|
||
if ( !pecb->ServerSupportFunction( pecb->ConnID,
|
||
HSE_REQ_SEND_RESPONSE_HEADER,
|
||
"200 OK",
|
||
NULL,
|
||
(LPDWORD) buff ) ||
|
||
!pecb->WriteClient( pecb->ConnID,
|
||
END_OF_DOC,
|
||
&cb,
|
||
0 ))
|
||
{
|
||
return HSE_STATUS_ERROR;
|
||
}
|
||
|
||
return HSE_STATUS_SUCCESS;
|
||
}
|
||
|
||
BOOL
|
||
GetExtensionVersion(
|
||
HSE_VERSION_INFO * pver
|
||
)
|
||
{
|
||
pver->dwExtensionVersion = MAKELONG( 1, 0 );
|
||
strcpy( pver->lpszExtensionDesc,
|
||
"Minimal Extension example" );
|
||
|
||
return TRUE;
|
||
}
|
||
|