)]}'
{
  "commit": "08a73b4aadebd9405ac52ec1f6eef5ca1fe8c11a",
  "tree": "844f6f53431a2c5071b7a799a697b26631946db9",
  "parents": [
    "35c17ea6f55c202956dccdf11edcdcda432edebe"
  ],
  "author": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Mon Feb 18 13:50:52 2013 +0000"
  },
  "committer": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Mon Feb 18 13:50:52 2013 +0000"
  },
  "message": "Proxy: support for connection upgrade (101 Switching Protocols).\n\nThis allows to proxy WebSockets by using configuration like this:\n\n    location /chat/ {\n        proxy_pass http://backend;\n        proxy_http_version 1.1;\n        proxy_set_header Upgrade $http_upgrade;\n        proxy_set_header Connection \"upgrade\";\n    }\n\nConnection upgrade is allowed as long as it was requested by a client\nvia the Upgrade request header.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "94313a8f650f8eb62fc1df80e234ae6fb58fcdc3",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_chunked_filter_module.c",
      "new_id": "a7dc5bf4d4beaf5f7ddac945033edf41226ffb61",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_chunked_filter_module.c"
    },
    {
      "type": "modify",
      "old_id": "ce47a9e34df9fae9b18a456ae320c24a682e5b3d",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_proxy_module.c",
      "new_id": "a623adc34e4bf7ddafde7aee56089152cf4075b7",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_proxy_module.c"
    },
    {
      "type": "modify",
      "old_id": "e3efbba5bcf2632da0ec5f9e45d2a9182430b607",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_header_filter_module.c",
      "new_id": "707a8131353e12320dea41f4f590e951fc9dbf1a",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_header_filter_module.c"
    },
    {
      "type": "modify",
      "old_id": "e94e7fcce4e8cd0bb941ed0b13784d97a1b1d299",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_request.c",
      "new_id": "763e7bf11726d79de99e9a66cc78b82482aa8052",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_request.c"
    },
    {
      "type": "modify",
      "old_id": "f234840c15d330cc9f62a95ab69aa5f38d737825",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_request.h",
      "new_id": "f0c39adaf3b4c87df9e96ecdd5ec4715aed2a308",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_request.h"
    },
    {
      "type": "modify",
      "old_id": "4f167a2b1f9a482ea3ee236b27ffafd39add2e6e",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_upstream.c",
      "new_id": "8c6367397761844b89c257203755b45c29074b3c",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_upstream.c"
    },
    {
      "type": "modify",
      "old_id": "2c910cd9c7aa70472a1557ae89276342afa36d3f",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_upstream.h",
      "new_id": "29ebf9bd92d57fec321f0dbf3e1f27dfb1328787",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_upstream.h"
    },
    {
      "type": "modify",
      "old_id": "0c6872fe280dcb25e6053db03fe4994dde45432e",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_variables.c",
      "new_id": "b8190b03067d324ec97237b5fd80feba7a19e055",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_variables.c"
    }
  ]
}
