使用自定义路由启动内存中的http服务器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用自定义路由启动内存中的http服务器相关的知识,希望对你有一定的参考价值。

This is excellent for testing (mocking a SOAP server for example), we use an in memory http server in order to answer client requests.
  1. import org.simpleframework.http.Request
  2. import org.simpleframework.http.Response
  3. import org.simpleframework.http.core.Container
  4. import org.simpleframework.transport.connect.Connection
  5. import org.simpleframework.transport.connect.SocketConnection
  6.  
  7. class HttpContainer implements Container {
  8.  
  9. Connection connection
  10.  
  11. def setup(){
  12. connection = new SocketConnection(this);
  13. SocketAddress address = new InetSocketAddress(13080);
  14. connection.connect(address);
  15. }
  16.  
  17. public void handle(Request request, Response response) {
  18. PrintStream body = response.getPrintStream();
  19. long time = System.currentTimeMillis();
  20. response.set("Content-Type", "text/xml;charset=utf-8");
  21. response.set("Server", "Apache-Coyote/1.1");
  22. response.setDate("Date", time);
  23.  
  24. def text = simpleRoute(request)
  25. body.println(text);
  26. body.close();
  27. }
  28.  
  29. def simpleRoute(request){
  30. switch(request.target){
  31. case "/some/url/file":
  32. return new File('src/test/resources/file').text
  33.  
  34. case "/some/url/hello":
  35. return 'hello'
  36.  
  37. default: throw new RuntimeException("no route found")
  38. }
  39. }
  40.  
  41. connection.close()
  42. }
  43. }

以上是关于使用自定义路由启动内存中的http服务器的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段11——vue路由的配置

片段中ListView的android自定义适配器

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

newCacheThreadPool()newFixedThreadPool()newScheduledThreadPool()newSingleThreadExecutor()自定义线程池(代码片段