基于tinyWebServer
不使用任何框架,c++编写。
在源代码的基础上,添加了几个主要的新角色,主要对应用层的处理流程做了一些改进,避免硬编码逻辑。
添加了如下角色:Blueprint,Router,Request,Urlparser,UrlAdapter,还有用于线程存储的storage和方便请求流程中传递变量ThreadLoacal简易实现。为了灵活性,这些都是可更换的组件。
目前可仿照flask蓝图注册的方式构建route,可用lambda快速搭站点。
使用ctemplate作为模板引擎。但因为是学习阶段,render_template实现的很简易。
声明
本人才疏学浅,仅按照自己理解对原有代码进行改进,如有错误,还望指正。
项目链接
https://github.com/CharmsGraker/ReinforceTinyWebServer
如果您感兴趣,欢迎交流