Leaked source code of windows server 2003
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.
|
|
/*++
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; }
|