)]}'
{
  "commit": "0a11c0431f0f4c1585db1407b043b75cee881bc3",
  "tree": "0ac81283fdacc0546598b4f47eae3bd99adfe82c",
  "parents": [
    "5b27dea29a934b27c5ddec3d8bf08f466ed729de"
  ],
  "author": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Sat Mar 17 23:04:25 2018 +0300"
  },
  "committer": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Sat Mar 17 23:04:25 2018 +0300"
  },
  "message": "gRPC: special handling of the TE request header.\n\nAccording to the gRPC protocol specification, the \"TE\" header is used\nto detect incompatible proxies, and at least grpc-c server rejects\nrequests without \"TE: trailers\".\n\nTo preserve the logic, we have to pass \"TE: trailers\" to the backend if\nand only if the original request contains \"trailers\" in the \"TE\" header.\nNote that no other TE values are allowed in HTTP/2, so we have to remove\nanything else.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fcf5e20cb9add30326e87d638b19dab425b72f9f",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_grpc_module.c",
      "new_id": "774f8c79bcfce402d989565cb0eca759933b0b4c",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_grpc_module.c"
    },
    {
      "type": "modify",
      "old_id": "89cfe77ad5add9a2f4ef429b2950002938aa7bd2",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_request.c",
      "new_id": "2db7a627950d5c7dbaa53dacf204d9ea78158fc6",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_request.c"
    },
    {
      "type": "modify",
      "old_id": "5d44c06ef17b9d72d2f62375f30234c767fc90e9",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_request.h",
      "new_id": "39baa0f0ccf7ea5ec53f0721a49e7dbcb4cd2539",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_request.h"
    }
  ]
}
