/*
** ____ _
** ___| _ \ ___ _ __| |
** / _ \ |_) / _ \ '__| |
** | __/ __/ __/ | | |
** \___|_| \___|_| |_|
**
** ePerl -- Embedded Perl 5 for HTML
**
** ePerl interprets a HTML markup file bristled with Perl 5 program
** statements by expanding the Perl 5 code. It operates as a stand-alone
** NPH-CGI/1.1 compliant Unix program and produces pure HTML markup code
** as the resulting data.
**
** =====================================================================
**
** Copyright (c) 1996,1997 Ralf S. Engelschall, All rights reserved.
**
** Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions
** are met:
**
** 1. Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
**
** 2. Redistributions in binary form must reproduce the above copyright
** notice, this list of conditions and the following disclaimer in
** the documentation and/or other materials provided with the
** distribution.
**
** 3. All advertising materials mentioning features or use of this
** software must display the following acknowledgment:
** "This product includes software developed by
** Ralf S. Engelschall <rse@engelschall.com>."
**
** 4. Redistributions of any form whatsoever must retain the following
** acknowledgment:
** "This product includes software developed by
** Ralf S. Engelschall <rse@engelschall.com>."
**
** 5. The names "ePerl" and "Embedded Perl 5 for HTML" must not be used to
** endorse or promote products derived from this software without
** prior written permission.
**
** THIS SOFTWARE IS PROVIDED BY RALF S. ENGELSCHALL ``AS IS'' AND ANY
** EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
** ARE DISCLAIMED. IN NO EVENT SHALL RALF S. ENGELSCHALL OR HIS CONTRIBUTORS
** BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
** POSSIBILITY OF SUCH DAMAGE.
**
** =====================================================================
**
** eperl_http.c -- ePerl HTTP stuff
*/
#include "eperl_global.h"
#include "eperl_proto.h"
/*
**
** print a standard HTTP reponse of header lines
**
*/
void
PrintHTTPResponse(
void
)
{
char
*cp;
if
((cp =
getenv
(
"SERVER_PROTOCOL"
)) == NULL)
cp =
"HTTP/1.0"
;
printf
(
"%s 200 OK\n"
, cp);
if
((cp =
getenv
(
"SERVER_SOFTWARE"
)) == NULL)
cp =
"unknown-server/0.0"
;
printf
(
"Server: %s %s Perl/%s\n"
, cp, ePerl_WebID, AC_perlvers);
printf
(
"Date: %s\n"
, WebTime());
printf
(
"Connection: close\n"
);
return
;
}
/*
**
** Give back acceptable HTTP time format string
**
*/
char
*WebTime(
void
)
{
time_t
t;
struct
tm
*
tm
;
char
*cp;
t =
time
(&t);
tm
=
localtime
(&t);
cp =
ctime
(&t);
cp[
strlen
(cp)-1] = NUL;
return
cp;
}
/*EOF*/