测试用可编程http服务器

har-server的Python项目详细描述


简单的可编程http api服务器。

buildcoveragedocs

服务器可以使用HTTP Archive(har)中的元素进行编程 最初由Jan OdvarkoW3C开发的规范 网络性能工作组。它从来没有在 JanOdvarko在他的博客上维护了这个规范。我创造了 此项目在发现由Mashape创建的mockbin服务之后 (现在KongHQ)。不幸的是,mockbin不能满足我的确切需求。

用法

主要用例是将编程响应返回到指定的 请求。响应与匹配的请求一起发布到服务。 两者都被指定为har对象–请求是一个HAR request并且 响应是aHAR response

POST /responses HTTP/1.1
Host: 127.0.0.1:8080
Content-Type: application/json
Content-Length: 733

{
   "request": {
      "method": "GET",
      "url": "http://example.org/status",
      "httpVersion": "HTTP/1.1",
      "cookies": [],
      "headers": [],
      "queryString": [],
      "postData": {},
      "headersSize": -1,
      "bodySize": 0
   },
   "response": {
      "status": 200,
      "statusText": "OK",
      "httpVersion": "HTTP/1.1",
      "cookies": [],
      "headers": [
         {"name":"Content-Type", "value":"application/json"}
      ],
      "content": {
         "mimeType": "application/json",
         "encoding": "json",
         "text": {
            "service": "my-service",
            "status": "ok"
         }
      },
      "redirectURL": "",
      "headersSize": -1,
      "bodySize": -1
   }
}

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 49
Link: <http://127.0.0.1:8080/hosts>; rel=host-map; method=GET
Link: <http://127.0.0.1:8080/requests>; rel=requests; method=GET
Link: <http://127.0.0.1:8080/responses>; rel=add-response; method=POST
Link: <http://127.0.0.1:8080/responses>; rel=clear-responses;
  method=PURGE

{
   "effective_url": "http://127.0.0.1:32443"
}

发送此消息后,服务将响应GET /status 在端口32443上,已注册响应:

GET /status HTTP/1.1
Host: 127.0.0.1:32443

HTTP/1.1 200 OK
Content-Type: application/json

{
  "service": "my-service",
  "status": "ok"
}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我的计时器(scheduleAtFixedRate)不循环   如何在Java中实现过滤迭代器?   java如何在不从本地xml、csv文件访问API的情况下将变量发布到php站点?   SuiteClasses语法的Java JUnit类数组   java从URLConnection读取二进制文件   java在Android Studio中发送加密文本时失败   Android:最近最少使用(LRU)算法在java中的实现?   java Selenium WebDriver无法打开Firefox配置文件   java如何处理带有嵌套抽象类的GSON?   java类型通知的方法SetLateStevenInfo(GcmMessageHandler,String,String,PendingContent)未定义   java Apple或Mac Mail会打开所有附件图像,即使它们已嵌入   java如何解析下面的xml代码?   java如何创建特定于API级别的UI(针对平板电脑和Android旧版本的不同UI,针对同一应用)?   servlet的通配符路径?