# HTTPServer **Repository Path**: balaLaa/httpserver ## Basic Information - **Project Name**: HTTPServer - **Description**: 基于winsock的HTTP服务框架 - **Primary Language**: C++ - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-03-25 - **Last Updated**: 2022-05-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HTTP框架 ### 示例: ```c++ CHTTPServer Httpd; // 实例 Httpd.InitSSL("./server.crt", "./server.key"); // 设置SSL证书 Httpd.HandleFunc("/", index); // HandleFunc 设置与path对应的回调函数 Httpd.HandleFunc("/test", test); Httpd.SetStatic("/Static", "./static"); // 设置static文件夹 Httpd.Listen(&Httpd, PORT, IPVERSION::IPV6); // 开始监听 ``` ### 回调函数的接口 ```c++ // SocketContext typedef struct SocketContext { Request* req; // request Response* res; // response void* pHS; // CHttpServer的指针 SOCKET pCliSocket; // 客户端的Socket SSL* ssl; // 用于HTTPS通信时的ssl对象 struct sockaddr_in* pCliAddr; struct sockaddr_in6* pCliAddr6; } SocketContext; ``` ```C++ typedef struct Request { ... } Request; // request 详细看代码 ``` ```C++ typedef struct Response { ... } Response; // response 详细看代码 ``` ### 功能 - 支持HTTPS - 回调函数的接口包括了http的请求、响应以及服务端和服务端的sockaddr - 接口内部还包含了http协议的原文,可在原基础上实现更多的功能 - ...