You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.2 KiB
86 lines
2.2 KiB
/*++
|
|
|
|
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;
|
|
}
|
|
|