google V8引擎的示例代码process.cc,核心类是JsHttpRequestProcessor。 Initialize()函数完成以下功能: - 设置全局javascript日志函数log的C++实现(155行) - InstallMaps中将C++ map<string, string>的options(602行)和output(616行)作为js全局变量options(236行)和output(239行) - 编译和运行js脚本(175行) - 获取js Process函数的句柄(192行)。 Process()函数具体处理请求: - 将C++的request对象转化为js对象(254行) - 调用js的Process函数(263行)。 其他函数功能如下: - Wrap函数将C++对象转化为js对象,UnWrap从js对象中获取C++对象。 - MapGet和MapSet用于拦截器(Interceptors)方式设置js ObjectTemplate。 - GetPath等用于访问器(Accessors)方式设置js ObejctTemplate。 - MakeXXXTemplate创建js ObjectTemplate,注意只需创建一次可反复实例化。 其他的都是测试Stub,不再记录。