📄 http.cpp
字号:
// Http.cpp : structures, functions and definitions for http service
//
// This is a part of the Microsoft Foundation Classes C++ library.
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// This source code is only intended as a supplement to the
// Microsoft Foundation Classes Reference and related
// electronic documentation provided with the library.
// See these sources for detailed information regarding the
// Microsoft Foundation Classes product.
#include "stdafx.h"
#include "Http.h"
#include "Request.h"
#include "resource.h"
IMPLEMENT_DYNCREATE(CHitDoc, CObject)
CHitDoc::CHitDoc( void )
{
}
CHitDoc::CHitDoc( CString strFile )
{
DWORD dwAttr = GetFileAttributes(strFile);
if ( dwAttr != (DWORD)(-1) && (dwAttr&FILE_ATTRIBUTE_DIRECTORY) != 0 )
m_bFolder = TRUE;
else
m_bFolder = FALSE;
m_nHits = 0;
m_dwExecute = 0;
m_nStatus = -1;
ParseFileName( strFile );
}
CHitDoc::CHitDoc( CRequest* pRequest )
{
m_nHits = 1; // at least one hit....
// is it an executable?
m_dwExecute = pRequest->m_dwExecute;
// time it was hit....
m_timeLastHit = pRequest->m_timeReq;
// status....
m_nStatus = pRequest->m_uStatus;
// referring document....
m_strCommand = pRequest->GetHeaderValue( "Referer" );
// get the URL....
m_strURL = pRequest->m_strURL;
// determine file and folder names....
if ( m_nStatus == 200 || (m_nStatus==0 && m_dwExecute) )
{
m_bFolder = ((pRequest->m_dwAttr & FILE_ATTRIBUTE_DIRECTORY) != 0);
ParseFileName( pRequest->m_strFullPath );
}
else
{
m_bFolder = FALSE;
m_strFile.LoadString( pRequest->m_uStatus );
}
}
int CHitDoc::operator==( CHitDoc* pHit )
{
int nCmp = m_strFile.CompareNoCase( pHit->m_strFile );
if ( nCmp == 0 )
nCmp = m_strFolder.CompareNoCase( pHit->m_strFolder );
return nCmp;
}
void CHitDoc::ParseFileName( const CString& strFullPath )
{
int nFile = strFullPath.ReverseFind( SEPCHAR );
if ( nFile != -1 )
{
m_strFolder = strFullPath.Left( nFile+1 );
m_strFile = strFullPath.Mid( nFile+1 );
} else {
m_strFolder = strFullPath;
m_strFile = _T("");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -