)]}'
{
  "commit": "9dcf5f371e681bff4a87f4b29e8aa8b0cb3af8a5",
  "tree": "3ce006ebe127483bd7da99831eff78c9a714d340",
  "parents": [
    "fb3ca3c7ac9ac92e8950678dd144decd1362487b"
  ],
  "author": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Mon Jul 06 18:36:25 2020 +0300"
  },
  "committer": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Mon Jul 06 18:36:25 2020 +0300"
  },
  "message": "gRPC: generate error when response size is wrong.\n\nAs long as the \"Content-Length\" header is given, we now make sure\nit exactly matches the size of the response.  If it doesn\u0027t,\nthe response is considered malformed and must not be forwarded\n(https://tools.ietf.org/html/rfc7540#section-8.1.2.6).  While it\nis not really possible to \"not forward\" the response which is already\nbeing forwarded, we generate an error instead, which is the closest\nequivalent.\n\nPrevious behaviour was to pass everything to the client, but this\nseems to be suboptimal and causes issues (ticket #1695).  Also this\ndirectly contradicts HTTP/2 specification requirements.\n\nNote that the new behaviour for the gRPC proxy is more strict than that\napplied in other variants of proxying.  This is intentional, as HTTP/2\nspecification requires us to do so, while in other types of proxying\nmalformed responses from backends are well known and historically\ntolerated.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "992211e73584eafa370588c96af263f217be953d",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_grpc_module.c",
      "new_id": "ab4ad6be1a0b27ca147673a69408ef4ffbb070ea",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_grpc_module.c"
    }
  ]
}
