)]}'
{
  "commit": "782881b376f51b41332943befde7a94647dd37bd",
  "tree": "52cf5e152b567df990d8d77d10a118d7783f9a0a",
  "parents": [
    "98d059bc0522e95e98bd56196678fab08f9cb6d8"
  ],
  "author": {
    "name": "Valentin Bartenev",
    "email": "vbart@nginx.com",
    "time": "Wed Feb 24 16:05:47 2016 +0300"
  },
  "committer": {
    "name": "Valentin Bartenev",
    "email": "vbart@nginx.com",
    "time": "Wed Feb 24 16:05:47 2016 +0300"
  },
  "message": "HTTP/2: always use temporary pool for processing headers.\n\nThis is required for implementing per request timeouts.\n\nPreviously, the temporary pool was used only during skipping of\nheaders and the request pool was used otherwise.  That required\nswitching of pools if the request was closed while parsing.\n\nIt wasn\u0027t a problem since the request could be closed only after\nthe validation of the fully parsed header.  With the per request\ntimeouts, the request can be closed at any moment, and switching\nof pools in the middle of parsing header name or value becomes a\nproblem.\n\nTo overcome this, the temporary pool is now always created and\nused.  Special checks are added to keep it when either the stream\nis being processed or until header block is fully parsed.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0447534e78e8d28d2b7233284e28a99befcf514b",
      "old_mode": 33188,
      "old_path": "src/http/v2/ngx_http_v2.c",
      "new_id": "e4f824cfe2231d01937a7d8804758f241c8ea5ca",
      "new_mode": 33188,
      "new_path": "src/http/v2/ngx_http_v2.c"
    },
    {
      "type": "modify",
      "old_id": "070aa435aaacb7dbc913520d08ecf5fa1f4c817d",
      "old_mode": 33188,
      "old_path": "src/http/v2/ngx_http_v2.h",
      "new_id": "5a791e62697aa092c66c53a9854117c2a8f38f28",
      "new_mode": 33188,
      "new_path": "src/http/v2/ngx_http_v2.h"
    }
  ]
}
