C++ HTTP Stack  0.10
클래스 | 열거형 타입 | 함수
HttpParser

HTTP 메시지 파서/생성 라이브러리 더 자세히 ...

클래스

class  CHttpHeader
 SIP 헤더 정보를 저장하는 클래스 더 자세히 ...
class  CHttpMessage
 HTTP 메시지 클래스 더 자세히 ...
class  CHttpPacket
 수신된 HTTP 프로토콜 패킷을 저장하고 파싱하는 클래스 더 자세히 ...
class  CHttpParameter
 parameter 정보를 저장하는 클래스 더 자세히 ...
class  CHttpParameterList
 HTTP parameter 리스트 저장 클래스 더 자세히 ...
class  CHttpUri
 HTTP URL 파서 클래스 더 자세히 ...

열거형 타입

enum  EHttpPacketStatus { H_HPS_HEADER = 0, H_HPS_BODY, H_HPS_BODY_END }
 HTTP 프로토콜 파싱 단계 더 자세히 ...

함수

const char * GetReasonPhrase (int iSipCode)
 HTTP status code 에 해당하는 문자열을 리턴한다.
int CHttpHeader::Parse (const char *pszText, int iTextLen)
 HTTP 헤더 문자열을 파싱하여 CHttpHeader 클래스의 멤버 변수에 저장한다.
int CHttpHeader::ToString (char *pszText, int iTextSize)
 HTTP 메시지에 포함된 문자열을 작성한다.
void CHttpHeader::Set (const char *pszName, const char *pszValue)
 헤더의 이름과 값을 설정한다.
void CHttpHeader::Clear ()
 멤버 변수를 초기화시킨다.
int CHttpMessage::Parse (const char *pszText, int iTextLen)
 HTTP 메시지를 파싱한다.
int CHttpMessage::ParseHeader (const char *pszText, int iTextLen)
 HTTP 메시지의 헤더를 파싱한다.
void CHttpMessage::Clear ()
 내부 변수를 초기화시킨다.
int CHttpMessage::ToString (char *pszText, int iTextSize)
 HTTP 메시지 문자열을 생성한다.
bool CHttpMessage::AddHeader (const char *pszName, const char *pszValue)
 HTTP 헤더 자료구조에 이름과 값을 추가한다.
bool CHttpMessage::AddHeader (const char *pszName, int iValue)
 HTTP 헤더 자료구조에 이름과 값을 추가한다.
bool CHttpMessage::UpdateHeader (const char *pszName, const char *pszValue)
 HTTP 헤더 자료구조에서 이름을 검색한 후, 해당 헤더가 존재하면 값을 수정한다.
bool CHttpMessage::ReplaceHeader (const char *pszName, const char *pszValue)
 HTTP 헤더 자료구조에서 이름을 검색한 후, 해당 헤더가 존재하면 값을 수정하고 존재하지 않으면 새로 추가한다.
CHttpHeaderCHttpMessage::GetHeader (const char *pszName)
 헤더 리스트를 검색하여서 입력된 이름과 일치하는 헤더를 리턴한다.
bool CHttpMessage::SetRequest (const char *pszMethod, CHttpUri *pclsUri, const char *pszUserAgent=NULL)
 HTTP 요청 메시지에 기본적으로 입력되어야 할 내용을 추가한다.
bool CHttpMessage::IsRequest ()
 HTTP 요청 메시지인지 검사한다.
void CHttpMultipart::SetBoundary (const char *pszBoundary)
 multipart 의 boundary 문자열을 저장한다.
void CHttpMultipart::SetContentType (const char *pszContentType)
 Content-Type 에서 boundary 문자열을 찾아서 boundary 문자열을 저장한다.
void CHttpMultipart::Clear ()
 자료구조를 초기화시킨다.
int CHttpMultipart::Parse (const std::string &strText)
 multipart 문자열을 파싱한다.
int CHttpMultipart::Parse (const char *pszText, int iTextLen)
 multipart 문자열을 파싱한다.
int CHttpMultipart::ToString (std::string &strText)
 multipart 문자열을 생성한다.
bool CHttpPacket::AddPacket (const char *pszPacket, int iPacketLen)
 HTTP 프로토콜 기반으로 수신한 패킷을 저장하고 파싱한다.
bool CHttpPacket::IsCompleted ()
 HTTP body 를 모두 가져왔는지 검사한다.
void CHttpPacket::ClearMessage ()
 HTTP 메시지 객체를 초기화시킨다.
CHttpMessageCHttpPacket::GetHttpMessage ()
 HTTP 메시지 객체를 리턴한다.
int CHttpParameter::Parse (const char *pszText, int iTextLen)
 Parameter 문자열을 파싱하여 CHttpParameter 클래스의 멤버 변수에 저장한다.
int CHttpParameter::ToString (char *pszText, int iTextSize)
 HTTP 메시지에 포함된 문자열을 작성한다.
void CHttpParameter::Clear ()
 멤버 변수를 초기화시킨다.
int CHttpParameterList::Parse (const char *pszText)
 parameter 리스트 문자열을 파싱하여서 parameter 리스트 객체에 저장한다.
int CHttpParameterList::Parse (const std::string &strText)
 parameter 리스트 문자열을 파싱하여서 parameter 리스트 객체에 저장한다.
int CHttpParameterList::Parse (const char *pszText, int iTextLen)
 parameter 리스트 문자열을 파싱하여서 parameter 리스트 객체에 저장한다.
int CHttpParameterList::ParseUrl (const char *pszText)
 URL 문자열에서 parameter 리스트 문자열을 파싱하여서 parameter 리스트 객체에 저장한다.
int CHttpParameterList::ParseUrl (const std::string &strText)
 URL 문자열에서 parameter 리스트 문자열을 파싱하여서 parameter 리스트 객체에 저장한다.
int CHttpParameterList::ParseUrl (const char *pszText, int iTextLen)
 URL 문자열에서 parameter 리스트 문자열을 파싱하여서 parameter 리스트 객체에 저장한다.
int CHttpParameterList::ParseOne (const char *pszText, int iTextLen)
 parameter 리스트 문자열을 파싱하여서 parameter 리스트 객체에 저장한다.
int CHttpParameterList::ToString (char *pszText, int iTextSize)
 parameter 리스트 객체를 parameter 리스트 문자열로 제작한다.
bool CHttpParameterList::Insert (const char *pszName, const char *pszValue)
 parameter list 에서 입력된 이름과 값을 저장한다.
bool CHttpParameterList::Update (const char *pszName, const char *pszValue)
 parameter list 에서 입력된 이름에 대한 값을 수정한다.
bool CHttpParameterList::Select (const char *pszName, std::string &strValue)
 parameter list 에서 입력된 이름을 검색한다.
bool CHttpParameterList::Select (const char *pszName)
 parameter list 에서 입력된 이름을 검색한다.
const char * CHttpParameterList::SelectValue (const char *pszName)
 parameter list 에서 입력된 이름을 검색한다.
void CHttpParameterList::ClearParam ()
 parameter list 를 삭제한다.
int CHttpUri::Parse (const char *pszText, int iTextLen)
 HTTP URI 를 파싱한다.
void CHttpUri::Clear ()
 내부 변수를 초기화시킨다.

상세한 설명

HTTP 메시지 파서/생성 라이브러리

열거형 타입 문서화

HTTP 프로토콜 파싱 단계

열거형 멤버:
H_HPS_HEADER 
H_HPS_BODY 
H_HPS_BODY_END 

함수 문서화

bool CHttpMessage::AddHeader ( const char *  pszName,
const char *  pszValue 
)

HTTP 헤더 자료구조에 이름과 값을 추가한다.

매개변수
pszNameHTTP 헤더 이름
pszValueHTTP 헤더 값
반환값
성공하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool CHttpMessage::AddHeader ( const char *  pszName,
int  iValue 
)

HTTP 헤더 자료구조에 이름과 값을 추가한다.

매개변수
pszNameHTTP 헤더 이름
iValueHTTP 헤더 값
반환값
성공하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool CHttpPacket::AddPacket ( const char *  pszPacket,
int  iPacketLen 
)

HTTP 프로토콜 기반으로 수신한 패킷을 저장하고 파싱한다.

매개변수
pszPacket패킷
iPacketLen패킷 길이
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
void CHttpUri::Clear ( )

내부 변수를 초기화시킨다.

void CHttpHeader::Clear ( )

멤버 변수를 초기화시킨다.

void CHttpMultipart::Clear ( )

자료구조를 초기화시킨다.

void CHttpMessage::Clear ( )

내부 변수를 초기화시킨다.

void CHttpParameter::Clear ( )

멤버 변수를 초기화시킨다.

void CHttpPacket::ClearMessage ( )

HTTP 메시지 객체를 초기화시킨다.

void CHttpParameterList::ClearParam ( )

parameter list 를 삭제한다.

CHttpHeader * CHttpMessage::GetHeader ( const char *  pszName)

헤더 리스트를 검색하여서 입력된 이름과 일치하는 헤더를 리턴한다.

매개변수
pszName헤더 이름
반환값
헤더 리스트에 존재하면 헤더 객체를 리턴하고 그렇지 않으면 NULL 을 리턴한다.
CHttpMessage * CHttpPacket::GetHttpMessage ( )

HTTP 메시지 객체를 리턴한다.

반환값
HTTP 메시지 객체를 리턴한다.
const char* GetReasonPhrase ( int  iSipCode)

HTTP status code 에 해당하는 문자열을 리턴한다.

매개변수
iSipCodeHTTP status code
반환값
HTTP status code 에 해당하는 문자열을 리턴한다.
bool CHttpParameterList::Insert ( const char *  pszName,
const char *  pszValue 
)

parameter list 에서 입력된 이름과 값을 저장한다.

매개변수
pszNameparameter 이름
pszValueparameter 값
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CHttpPacket::IsCompleted ( )

HTTP body 를 모두 가져왔는지 검사한다.

반환값
HTTP body 를 모두 가져온 경우 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool CHttpMessage::IsRequest ( )

HTTP 요청 메시지인지 검사한다.

반환값
HTTP 요청 메시지이면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
int CHttpParameterList::Parse ( const char *  pszText)

parameter 리스트 문자열을 파싱하여서 parameter 리스트 객체에 저장한다.

매개변수
pszTextparameter 리스트 문자열
반환값
성공하면 파싱한 문자열의 길이를 리턴하고 그렇지 않으면 -1 을 리턴한다.
int CHttpUri::Parse ( const char *  pszText,
int  iTextLen 
)

HTTP URI 를 파싱한다.

매개변수
pszTextHTTP URI 문자열
iTextLenHTTP URI 문자열 길이
반환값
성공하면 파싱한 문자열 개수를 리턴하고 실패하면 -1 을 리턴한다.
int CHttpParameterList::Parse ( const std::string &  strText)

parameter 리스트 문자열을 파싱하여서 parameter 리스트 객체에 저장한다.

매개변수
strTextparameter 리스트 문자열
반환값
성공하면 파싱한 문자열의 길이를 리턴하고 그렇지 않으면 -1 을 리턴한다.
int CHttpParameterList::Parse ( const char *  pszText,
int  iTextLen 
)

parameter 리스트 문자열을 파싱하여서 parameter 리스트 객체에 저장한다.

매개변수
pszTextparameter 리스트 문자열
iTextLenparameter 리스트 문자열의 길이
반환값
성공하면 파싱한 문자열의 길이를 리턴하고 그렇지 않으면 -1 을 리턴한다.
int CHttpHeader::Parse ( const char *  pszText,
int  iTextLen 
)

HTTP 헤더 문자열을 파싱하여 CHttpHeader 클래스의 멤버 변수에 저장한다.

매개변수
pszTextHTTP 헤더의 값을 저장한 문자열
iTextLenpszText 문자열의 길이
반환값
성공하면 파싱한 길이를 리턴하고 그렇지 않으면 -1 를 리턴한다.
int CHttpMessage::Parse ( const char *  pszText,
int  iTextLen 
)

HTTP 메시지를 파싱한다.

매개변수
pszTextHTTP 메시지 문자열
iTextLenHTTP 메시지 문자열 길이
반환값
성공하면 파싱한 문자열 개수를 리턴하고 실패하면 -1 을 리턴한다.
int CHttpParameter::Parse ( const char *  pszText,
int  iTextLen 
)

Parameter 문자열을 파싱하여 CHttpParameter 클래스의 멤버 변수에 저장한다.

매개변수
pszTextHTTP 헤더의 값을 저장한 문자열
iTextLenpszText 문자열의 길이
반환값
성공하면 파싱한 길이를 리턴하고 그렇지 않으면 -1 를 리턴한다.
int CHttpMultipart::Parse ( const std::string &  strText)

multipart 문자열을 파싱한다.

매개변수
strTextmultipart 문자열
반환값
성공하면 파싱한 multipart 문자열 길이를 리턴하고 그렇지 않으면 -1 를 리턴한다.
int CHttpMultipart::Parse ( const char *  pszText,
int  iTextLen 
)

multipart 문자열을 파싱한다.

매개변수
pszTextmultipart 문자열
iTextLenmultipart 문자열 길이
반환값
성공하면 파싱한 multipart 문자열 길이를 리턴하고 그렇지 않으면 -1 를 리턴한다.
int CHttpMessage::ParseHeader ( const char *  pszText,
int  iTextLen 
)

HTTP 메시지의 헤더를 파싱한다.

매개변수
pszTextHTTP 메시지 문자열
iTextLenHTTP 메시지 문자열 길이
반환값
성공하면 파싱한 문자열 개수를 리턴하고 실패하면 -1 을 리턴한다.
int CHttpParameterList::ParseOne ( const char *  pszText,
int  iTextLen 
)

parameter 리스트 문자열을 파싱하여서 parameter 리스트 객체에 저장한다.

매개변수
pszTextparameter 리스트 문자열
iTextLenparameter 리스트 문자열의 길이
반환값
성공하면 파싱한 문자열의 길이를 리턴하고 그렇지 않으면 -1 을 리턴한다.
int CHttpParameterList::ParseUrl ( const char *  pszText)

URL 문자열에서 parameter 리스트 문자열을 파싱하여서 parameter 리스트 객체에 저장한다.

매개변수
pszTextURL 문자열
반환값
성공하면 파싱한 문자열의 길이를 리턴하고 그렇지 않으면 -1 을 리턴한다.
int CHttpParameterList::ParseUrl ( const std::string &  strText)

URL 문자열에서 parameter 리스트 문자열을 파싱하여서 parameter 리스트 객체에 저장한다.

매개변수
strTextURL 문자열
반환값
성공하면 파싱한 문자열의 길이를 리턴하고 그렇지 않으면 -1 을 리턴한다.
int CHttpParameterList::ParseUrl ( const char *  pszText,
int  iTextLen 
)

URL 문자열에서 parameter 리스트 문자열을 파싱하여서 parameter 리스트 객체에 저장한다.

매개변수
pszTextURL 문자열
iTextLenURL 문자열 길이
반환값
성공하면 파싱한 문자열의 길이를 리턴하고 그렇지 않으면 -1 을 리턴한다.
bool CHttpMessage::ReplaceHeader ( const char *  pszName,
const char *  pszValue 
)

HTTP 헤더 자료구조에서 이름을 검색한 후, 해당 헤더가 존재하면 값을 수정하고 존재하지 않으면 새로 추가한다.

매개변수
pszNameHTTP 헤더 이름
pszValueHTTP 헤더 값
반환값
성공하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool CHttpParameterList::Select ( const char *  pszName,
std::string &  strValue 
)

parameter list 에서 입력된 이름을 검색한다.

매개변수
pszNameparameter 이름
strValueparameter 값을 저장할 변수
반환값
parameter 이름이 존재하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool CHttpParameterList::Select ( const char *  pszName)

parameter list 에서 입력된 이름을 검색한다.

매개변수
pszNameparameter 이름
반환값
parameter 이름이 존재하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
const char * CHttpParameterList::SelectValue ( const char *  pszName)

parameter list 에서 입력된 이름을 검색한다.

매개변수
pszNameparameter 이름
반환값
parameter 이름이 존재하면 해당 값을 리턴하고 그렇지 않으면 NULL 을 리턴한다.
void CHttpHeader::Set ( const char *  pszName,
const char *  pszValue 
)

헤더의 이름과 값을 설정한다.

매개변수
pszName헤더 이름
pszValue헤더 값
void CHttpMultipart::SetBoundary ( const char *  pszBoundary)

multipart 의 boundary 문자열을 저장한다.

매개변수
pszBoundarymultipart 의 boundary 문자열
void CHttpMultipart::SetContentType ( const char *  pszContentType)

Content-Type 에서 boundary 문자열을 찾아서 boundary 문자열을 저장한다.

매개변수
pszContentTypeContent-Type 문자열
bool CHttpMessage::SetRequest ( const char *  pszMethod,
CHttpUri pclsUri,
const char *  pszUserAgent = NULL 
)

HTTP 요청 메시지에 기본적으로 입력되어야 할 내용을 추가한다.

매개변수
pszMethodHTTP 메소드
pclsUriHTTP URI
pszUserAgentHTTP User Agent 헤더에 저장될 문자열
반환값
true 를 리턴한다.
int CHttpHeader::ToString ( char *  pszText,
int  iTextSize 
)

HTTP 메시지에 포함된 문자열을 작성한다.

매개변수
pszTextHTTP 헤더의 값을 저장할 문자열 변수
iTextSizepszText 변수의 크기
반환값
성공하면 작성한 문자열 길이를 리턴하고 그렇지 않으면 -1 를 리턴한다.
int CHttpParameterList::ToString ( char *  pszText,
int  iTextSize 
)

parameter 리스트 객체를 parameter 리스트 문자열로 제작한다.

매개변수
pszTextparameter 리스트 문자열을 저장할 변수
iTextSizeparameter 리스트 문자열의 크기
반환값
parameter 리스트 문자열의 길이를 리턴한다.
int CHttpMessage::ToString ( char *  pszText,
int  iTextSize 
)

HTTP 메시지 문자열을 생성한다.

매개변수
pszTextHTTP 메시지 문자열 저장 변수
iTextSizeHTTP 메시지 문자열 저장 변수 크기
반환값
성공하면 저장된 HTTP 메시지 문자열 길이를 리턴하고 실패하면 -1 을 리턴한다.
int CHttpParameter::ToString ( char *  pszText,
int  iTextSize 
)

HTTP 메시지에 포함된 문자열을 작성한다.

매개변수
pszTextHTTP 헤더의 값을 저장할 문자열 변수
iTextSizepszText 변수의 크기
반환값
성공하면 작성한 문자열 길이를 리턴하고 그렇지 않으면 -1 를 리턴한다.
int CHttpMultipart::ToString ( std::string &  strText)

multipart 문자열을 생성한다.

매개변수
strText[out] multipart 문자열
반환값
multipart 문자열 길이를 리턴한다.
bool CHttpParameterList::Update ( const char *  pszName,
const char *  pszValue 
)

parameter list 에서 입력된 이름에 대한 값을 수정한다.

매개변수
pszNameparameter 이름
pszValueparameter 값
반환값
parameter 이름이 존재하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool CHttpMessage::UpdateHeader ( const char *  pszName,
const char *  pszValue 
)

HTTP 헤더 자료구조에서 이름을 검색한 후, 해당 헤더가 존재하면 값을 수정한다.

매개변수
pszNameHTTP 헤더 이름
pszValueHTTP 헤더 값
반환값
성공하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.