-
Notifications
You must be signed in to change notification settings - Fork 207
Home
iptton edited this page Nov 25, 2013
·
3 revisions
- 下载qtsdk ( http://qt.nokia.com/ )
- 用QtCreator打开Rythem.pro
- coding!
-
代码主要分为三部分:
- ProxyServer (代理服务, proxy目录下)
- UI相关 (大部分在根目录下,新创建的自定义组合在widget目录下)
- RuleManager (管理规则,Rule目录下)
-
ProxyServer
- RyProxyServer 单例,监听host及端口
(暂时硬编码)为。监听本机所有8889的http请求127.0.0.1:8889
- RyConnection 每个socket请求对应一个connection实例
- RyPipeData 每个http请求对应一个(根据HTTP1.1协议,每个socket可执行1到多条http请求)
- RyWinHttp 单例,设置windows下代理所用,里面大部分代码来自Qt源代码。
- RyProxyServer 单例,监听host及端口
-
UI相关
- Composer 产生HTTP请求的UI
- MainWindow 主窗口
- RyConnectionTableView 自定义的QTableView,用于展示请求列表
- RyTableModel & RyTableSortFilterProxyModel 请求列表的model部分(关于Qt的Model-View结构详见Qt相关帮助文档)
- WaterFallWindow 显示瀑布图
- widget/RyTabWidget 自定义的QTabView,接收dragMove事件,当鼠标拖动请求到tabbar时,切换tab
- widget/RyWebView 自定义QWebView,为RuleManager的web界面增加拖动后新建规则功能
-
RuleManager
- RyRule 替换规则
- RyRuleGroup 规则分组 (分组可含多个规则)
- RyRuleProject 规则项目 (项目可含有多个分组)
- RyRuleReplaceContent 替换内容,当某条rule被命中时,即时产生一个此类实例,以产生其对应应被替换的内容。(单独用一类实现,是考虑到同一条rule可能会同时被多个请求命中,且本程序是多线程的,如果不单独使用,会出现错误)
- RyRuleManager 单例,管理规则。