| Return Type | Function name | Arguments |
|---|---|---|
| void | hdsPage::Head | (hzHttpEvent*,) |
Declared in file: hzDissemino.h
Defined in file : hdsGenerate.cpp
Function Logic:
Function body:
void hdsPage::Head (hzHttpEvent* pE)
{
_hzfunc("hdsPage::Head") ;
ifstream is ;
hzXDate d ;
hzChain Z ;
const char* pEnd ;
hzMimetype type ;
HttpRC hrc ;
hzEcode rc ;
pEnd = strrchr(*m_Url, CHAR_PERIOD) ;
if (pEnd)
type = Filename2Mimetype(pEnd) ;
else
type = HMTYPE_TXT_HTML ;
Z.Clear() ;
switch (hrc)
{
case HTTPMSG_OK: Z << "HTTP/1.1 200 OK\r\n" ; break ;
case HTTPMSG_NOTFOUND: Z << "HTTP/1.1 404 Not found\r\n" ; break ;
default:
Z.Printf("HTTP/1.1 %03d\r\n", hrc) ;
} ;
d.SysDateTime() ;
Z.Printf("Date: %s\r\n", d.Txt(FMT_DT_INET)) ;
Z << "Server: HTTP/1.0 (HadronZoo, Linux)\r\n" ;
Z.Printf("Last-Modified: %s\r\n", d.Txt(FMT_DT_INET)) ;
d.altdate(SECOND, 1000);
Z.Printf("Expires: %s\r\n", d.Txt(FMT_DT_INET)) ;
Z << "Accept-Ranges: bytes\r\n" ;
if (hrc == HTTPMSG_OK)
Z.Printf("Content-Length: 0\r\n") ;
Z << "Content-Type: " << Mimetype2Txt(type) << "\n\n" ;
pE->SendRawChain(HTTPMSG_OK, HMTYPE_TXT_HTML, Z, 0,false) ;
}