-
Notifications
You must be signed in to change notification settings - Fork 0
/
HTTPConfig.h
92 lines (79 loc) · 3.13 KB
/
HTTPConfig.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#ifndef HTTPConfig_h
#define HTTPConfig_h
/**
@file HTTPConfig.h
@brief HTTP관련 환경 설정및 매크로
환경마다 다를수 있는 include나 directory설정, 최대 연결갯수는 이 파일에서 설정합니다.
@author
<table>
<tr><th>Developer</th><th>Role</th><th>Email</th><th>Mobile No.</th></tr>
<tr><td>장원희</td><td>Programmer</td><td>[email protected]</td><td>82-(0)10-4443-0711</td></tr>
</table>
@version 1.0
@section Lisence
Copyright 2012 vanilla breeze. All rights reserved.
*/
#include <string>
#include <list>
#include <curl/curl.h>
#include <assert.h>
#include <iostream>
#include <sstream>
#include <fstream>
#include <unistd.h>
#include <pthread.h>
#include <math.h>
#include <vector>
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sqlite3.h>
//#include "VBEngine.h"
//#include "Device.h"
/// @brief HTTP관련 임시파일을 저장할 경로를 지정함
//#define HTTP_MANAGER_DIRECTORY Device::Manager::Share()->GetDocumentPath()
/// @brief HTTP관련 임시파일을 저장할 경로를 숨기기 위한 폴더명
///
/// 실제로 HTTP_MANAGER_DIRECTORY + "/" + HTTP_MANAGER_DIRECTORY_TEMPORARY에 저장됨
//#define HTTP_MANAGER_DIRECTORY_TEMPORARY std::string("temporary")
/// @brief HTTP관련 캐쉬파일을 저장할 경로를 숨기기 위한 폴더명
///
/// 실제로 HTTP_MANAGER_DIRECTORY + "/" + HTTP_MANAGER_DIRECTORY_CACHE에 저장됨
//#define HTTP_MANAGER_DIRECTORY_CACHE std::string("cache")
/// @brief HTTP응답의 캐쉬를 관리하기위한 sqlite3 DB파일
///
/// 실제로 HTTP_MANAGER_DIRECTORY + "/" + HTTP_MANAGER_DIRECTORY_CACHE + "/" + HTTP_MANAGER_CACHE_DB 에 저장됨
//#define HTTP_MANAGER_CACHE_DB std::string("db.sql3")
/// @brief 임시,캐쉬 헤더파일들을 숨기기 위한 폴더명
///
///임시헤더파일들은 실제로 HTTP_MANAGER_DIRECTORY + "/" + HTTP_MANAGER_DIRECTORY_TEMPORARY + "/" + HTTP_MANAGER_DIRECTORY_HEADER에 저장됨
///캐쉬헤더파일들은 실제로 HTTP_MANAGER_DIRECTORY + "/" + HTTP_MANAGER_DIRECTORY_CACHE + "/" + HTTP_MANAGER_DIRECTORY_HEADER에 저장됨
//#define HTTP_MANAGER_DIRECTORY_HEADER std::string("header")
/// @brief 임시,캐쉬 바디파일들을 숨기기 위한 폴더명
///
/// 임시바디파일들은 실제로 HTTP_MANAGER_DIRECTORY + "/" + HTTP_MANAGER_DIRECTORY_TEMPORARY + "/" + HTTP_MANAGER_DIRECTORY_BODY에 저장됨
/// 캐쉬바디파일들은 실제로 HTTP_MANAGER_DIRECTORY + "/" + HTTP_MANAGER_DIRECTORY_CACHE + "/" + HTTP_MANAGER_DIRECTORY_BODY에 저장됨
//#define HTTP_MANAGER_DIRECTORY_BODY std::string("body")
/// @brief 디버그 매크로
///
/// 함수의 내용을 FLAG;로 바꾸면 프로그램을 중단하지 않음
/// 릴리즈시 필요하다면 매크로를 변경(매크로 내용 삭제)
#ifdef DEBUG
#define HTTP_DEBUG(FLAG, STRING)\
{\
int DEBUGFLAG = (int)FLAG;\
if(DEBUGFLAG) {\
std::cout << "LOG FLAG: " << DEBUGFLAG << "\n";\
std::cout << "HTTP LOG: " << STRING << "\n";\
assert(false);\
}\
}
#else
#define HTTP_DEBUG(FLAG, STRING)\
FLAG;
#endif
/// @brief 최대 연결 갯수
#define HTTP_MAX_CONNECTIONS 0xFF
#endif