我目前正在研究Rascal的稳定版本,并且我想生成Rascal网络服务器来为我的html模板提供javascript函数。 看着网络服务器模块,我看不到如何使用服务功能来使用网络服务器。它要求一个位置(我假设该位置将类似于|http://localhost:8080|
),并且回调的类型为Response (Request)
,但该类型是什么?我不知道如何创建这种类型,究竟是什么。Rascal使用网络服务器模块
1
A
回答
2
类型
Response (Request) callback是一个函数,例如:
Response (Request r) { return response(...); }
这个功能是一个匿名函数(它没有名字),您可以进入服务功能作为参数,你也可以把它定义为一个带有名字的正常函数,并且将该函数的名称作为参数。
所以这可能会工作:
serve(|http://localhost:8080|, Response (Request r){ return response("Hello world"); }):
既然有工厂方法
Response response(str content)在Webserver.rsc,这将创建一个字符串参数给你一个答复。
2
在没有关于此模块的文档的情况下,您只能阅读源代码。在Eclipse浏览器中,可以访问库(用小罐子图标表示),您将在那里找到util::Webserver
,其中包含Response
和Request
类型的定义。
基本上Request
是一个回调函数,其中包含所有HTTP标头和东西作为参数,Response
是一个包含替代响应类型(文件,字符串等)的包装。
请注意,当前版本与您使用的稳定版本有很大不同,所以在github上阅读代码并没有什么帮助。
相关问题
- 1. Joomla网络服务模块
- 2. 无法通过网络服务器使用网络服务
- 3. 网络服务器模块在“添加块接口”
- 4. 网络应用服务器
- 5. Apache网络服务器中的URL重写模块
- 6. 在网络服务器上安装python模块
- 7. 使用Django减去网络服务器
- 8. NowJs服务器到网络服务器
- 9. 网络服务器 - 如何指定服务器使用
- 10. 网络服务器虚拟网络
- 11. 使用网络服务
- 12. Android:使用网络服务
- 13. 使用网络服务
- 14. WCF使用网络服务
- 15. 使用网络服务?
- 16. Rascal导入模块缓慢
- 17. 使用所需的网络适配器拨打网络服务
- 18. 使用android作为本地网络上的网络服务器
- 19. 在生产中使用okhttp模拟网络服务器
- 20. 节点JS,模块网,服务器
- 21. 从网络服务POST到服务器
- 22. Apache网络服务器
- 23. 访问网络服务器
- 24. 通过网络服务器
- 25. C# - 网络与服务器
- 26. 从网络服务器EMAIL
- 27. 网络服务器访问
- 28. Android网络服务器
- 29. API的网络服务器
- 30. 网络服务器认证
我注意到github上的实现像TutorWebserver的实现一样使用一个'''dispatchserver'',它在稳定版本中并不存在。 Webserver的源代码并没有真正说明括号后面的数据类型是一个匿名函数,这引起了我的困惑。我没有想到Rascal有匿名功能。 –
啊,是的,我明白了!谢谢。 – jurgenv