{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":30697332,"defaultBranch":"master","name":"typhon","ownerLogin":"monzo","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-02-12T10:21:42.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/11029372?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1727092225.0","currentOid":""},"activityList":{"items":[{"before":"ab6ccb716c2c01ba071ee3c4ddae79f46eb47651","after":"c2c0b0116ab11da6a332d8b782dfe8139ac51070","ref":"refs/heads/master","pushedAt":"2024-09-23T10:52:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tomcoupland","name":null,"path":"/tomcoupland","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/152181227?s=80&v=4"},"commit":{"message":"Add public accessors for request pattern and method (#175)\n\nThese are very useful values to be able to access easily while processing requests. Let's make them public and reachable via the context.","shortMessageHtmlLink":"Add public accessors for request pattern and method (#175)"}},{"before":"3574d3cc5397662e4cca862eb9c9bfe9737be036","after":"1e9141a89bd0c037143417d1646c7152b3b73222","ref":"refs/heads/add-context-access-for-req-path-method","pushedAt":"2024-09-23T10:41:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tomcoupland","name":null,"path":"/tomcoupland","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/152181227?s=80&v=4"},"commit":{"message":"Add public accessors for request pattern and method\n\nThese are very useful values to be able to access easily while processing requests. Let's make them public and reachable via the context.","shortMessageHtmlLink":"Add public accessors for request pattern and method"}},{"before":null,"after":"3574d3cc5397662e4cca862eb9c9bfe9737be036","ref":"refs/heads/add-context-access-for-req-path-method","pushedAt":"2024-09-23T10:31:26.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tomcoupland","name":null,"path":"/tomcoupland","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/152181227?s=80&v=4"},"commit":{"message":"Add public accessors for request pattern and method\n\nThese are very useful values to be able to access easily while processing requests. Let's make them public and reachable via the context.","shortMessageHtmlLink":"Add public accessors for request pattern and method"}},{"before":null,"after":"837b2beda412cc21d673c08d3b79bb0a693af64f","ref":"refs/heads/tomcoupland-patch-1","pushedAt":"2024-09-05T19:38:12.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tomcoupland","name":null,"path":"/tomcoupland","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/152181227?s=80&v=4"},"commit":{"message":"Expose RouterPathPatternForRequest\n\nThis will allow us to extract the path pattern from a requests context, without having to go via the requests route. When used in client filters, the 'router' will not be set correctly, as the req will be outbound, but the context on the req will have preserved the original inbound requests context values.","shortMessageHtmlLink":"Expose RouterPathPatternForRequest"}},{"before":"0cef8301350bb234aa024ccd80c8e89f835df5f1","after":null,"ref":"refs/heads/circle","pushedAt":"2024-05-29T14:02:31.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"robbiev","name":"Robbie Vanbrabant","path":"/robbiev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/567572?s=80&v=4"}},{"before":null,"after":"0cef8301350bb234aa024ccd80c8e89f835df5f1","ref":"refs/heads/circle","pushedAt":"2024-05-29T13:59:30.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"robbiev","name":"Robbie Vanbrabant","path":"/robbiev","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/567572?s=80&v=4"},"commit":{"message":"add configuration","shortMessageHtmlLink":"add configuration"}},{"before":null,"after":"9692c6771eb05660faa28d2b0a0fba8b62e7dc95","ref":"refs/heads/INFRA-3521-customer-data-export-googleapis-egress-fix-typo","pushedAt":"2024-02-09T09:48:17.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"milesbxf","name":"Miles Bryant","path":"/milesbxf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8912725?s=80&v=4"},"commit":{"message":"Add NewRawRequest\n\nOne common pitfall of using typhon.NewRequest for standard HTTP usage is that it's easy to try and use it like a regular http.NewRequest and pass in a raw body, expecting that to work - but then Typhon encodes the body as JSON. Now of course you could pass in an io.ReadCloser/io.Reader to avoid this, but you'd only know this from digging deep into the Typhon code, not from the docstrings!","shortMessageHtmlLink":"Add NewRawRequest"}},{"before":null,"after":"9692c6771eb05660faa28d2b0a0fba8b62e7dc95","ref":"refs/heads/typhon-raw-request","pushedAt":"2024-02-09T09:29:28.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"milesbxf","name":"Miles Bryant","path":"/milesbxf","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8912725?s=80&v=4"},"commit":{"message":"Add NewRawRequest\n\nOne common pitfall of using typhon.NewRequest for standard HTTP usage is that it's easy to try and use it like a regular http.NewRequest and pass in a raw body, expecting that to work - but then Typhon encodes the body as JSON. Now of course you could pass in an io.ReadCloser/io.Reader to avoid this, but you'd only know this from digging deep into the Typhon code, not from the docstrings!","shortMessageHtmlLink":"Add NewRawRequest"}},{"before":"fc0f84099391b5239090ae39d95cff44a2930683","after":null,"ref":"refs/heads/add-router-endpoint-pattern","pushedAt":"2023-12-04T10:47:28.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"RohanPadmanabhan","name":null,"path":"/RohanPadmanabhan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26333869?s=80&v=4"}},{"before":"ea17ae8b9d577dfbeeedf388993b22ba52867da5","after":"ab6ccb716c2c01ba071ee3c4ddae79f46eb47651","ref":"refs/heads/master","pushedAt":"2023-12-04T10:40:14.000Z","pushType":"pr_merge","commitsCount":8,"pusher":{"login":"RohanPadmanabhan","name":null,"path":"/RohanPadmanabhan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26333869?s=80&v=4"},"commit":{"message":"Merge pull request #169 from monzo/add-router-endpoint-pattern\n\nAdd router endpoint pattern method to Typhon Request","shortMessageHtmlLink":"Merge pull request #169 from monzo/add-router-endpoint-pattern"}},{"before":"744181347f73aceeb51ff33760481dd88ec614d9","after":"fc0f84099391b5239090ae39d95cff44a2930683","ref":"refs/heads/add-router-endpoint-pattern","pushedAt":"2023-12-04T10:36:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RohanPadmanabhan","name":null,"path":"/RohanPadmanabhan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26333869?s=80&v=4"},"commit":{"message":"Rename function (PR feedback)","shortMessageHtmlLink":"Rename function (PR feedback)"}},{"before":"e4c8c20a3866b89b63d94c6401ff529b216baee1","after":"744181347f73aceeb51ff33760481dd88ec614d9","ref":"refs/heads/add-router-endpoint-pattern","pushedAt":"2023-12-04T09:46:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RohanPadmanabhan","name":null,"path":"/RohanPadmanabhan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26333869?s=80&v=4"},"commit":{"message":"Undo autoformat","shortMessageHtmlLink":"Undo autoformat"}},{"before":"a9761522d87012087f4b171de04c63a139dd0b67","after":"e4c8c20a3866b89b63d94c6401ff529b216baee1","ref":"refs/heads/add-router-endpoint-pattern","pushedAt":"2023-12-04T09:45:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RohanPadmanabhan","name":null,"path":"/RohanPadmanabhan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26333869?s=80&v=4"},"commit":{"message":"Undo autoformat","shortMessageHtmlLink":"Undo autoformat"}},{"before":"e9f92133a5f39119d9e01414d2c52f06f3fa6579","after":"a9761522d87012087f4b171de04c63a139dd0b67","ref":"refs/heads/add-router-endpoint-pattern","pushedAt":"2023-12-04T09:43:28.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"RohanPadmanabhan","name":null,"path":"/RohanPadmanabhan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26333869?s=80&v=4"},"commit":{"message":"undo autoformat","shortMessageHtmlLink":"undo autoformat"}},{"before":"bb1576e5793ae205c72ba2dc85467efa33ab1749","after":"e9f92133a5f39119d9e01414d2c52f06f3fa6579","ref":"refs/heads/add-router-endpoint-pattern","pushedAt":"2023-12-01T18:19:57.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RohanPadmanabhan","name":null,"path":"/RohanPadmanabhan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26333869?s=80&v=4"},"commit":{"message":"Rename function and store path pattern inside context","shortMessageHtmlLink":"Rename function and store path pattern inside context"}},{"before":"84a107d9abc12440569b220aaf290ec827a8b34d","after":"bb1576e5793ae205c72ba2dc85467efa33ab1749","ref":"refs/heads/add-router-endpoint-pattern","pushedAt":"2023-12-01T18:18:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RohanPadmanabhan","name":null,"path":"/RohanPadmanabhan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26333869?s=80&v=4"},"commit":{"message":"Rename function and store path pattern inside context","shortMessageHtmlLink":"Rename function and store path pattern inside context"}},{"before":null,"after":"84a107d9abc12440569b220aaf290ec827a8b34d","ref":"refs/heads/add-router-endpoint-pattern","pushedAt":"2023-12-01T17:20:23.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"RohanPadmanabhan","name":null,"path":"/RohanPadmanabhan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26333869?s=80&v=4"},"commit":{"message":"Add router endpoint pattern method onto the Typhon Request","shortMessageHtmlLink":"Add router endpoint pattern method onto the Typhon Request"}},{"before":null,"after":"743130523bfc596a1be5a8c4713c5a7c70a7e21a","ref":"refs/heads/slai/export_status2terrcode","pushedAt":"2023-09-08T13:33:16.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"slai","name":"Sam Lai","path":"/slai","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70988?s=80&v=4"},"commit":{"message":"errors: export Status2TerrCode\n\nThis PR exports the errors.Status2TerrCode function. It is currently unexported, and also unused.\n\nI'd like to export this as it is useful for implementing custom error filters, for example, when using a Typhon client to talk to third-party APIs, it may be necessary to implement custom logic to deserialize errors returned into Terrors. As part of that, it is common to translate the response HTTP status codes into Terror error codes. In our codebase, I can see around 15 re-implementations of this mapping, so I think there is sufficient usage for this change.","shortMessageHtmlLink":"errors: export Status2TerrCode"}},{"before":"32e4835473fd62699628047a36bb0beb3be28151","after":null,"ref":"refs/heads/add-max-connection-age-server-option","pushedAt":"2023-05-05T14:29:44.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"danielchatfield","name":"Daniel Chatfield","path":"/danielchatfield","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1058676?s=80&v=4"}},{"before":"b08f2318a450d16031d4e5113ab107b424af078e","after":"ea17ae8b9d577dfbeeedf388993b22ba52867da5","ref":"refs/heads/master","pushedAt":"2023-05-05T14:27:36.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"danielchatfield","name":"Daniel Chatfield","path":"/danielchatfield","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1058676?s=80&v=4"},"commit":{"message":"Merge pull request #166 from monzo/add-max-connection-age-server-option\n\nAdd max connection age typhon server option","shortMessageHtmlLink":"Merge pull request #166 from monzo/add-max-connection-age-server-option"}},{"before":null,"after":"32e4835473fd62699628047a36bb0beb3be28151","ref":"refs/heads/add-max-connection-age-server-option","pushedAt":"2023-05-05T14:05:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"danielchatfield","name":"Daniel Chatfield","path":"/danielchatfield","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1058676?s=80&v=4"},"commit":{"message":"Add max connection age server option","shortMessageHtmlLink":"Add max connection age server option"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yM1QxMDo1Mjo0OS4wMDAwMDBazwAAAAS92Px9","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yM1QxMDo1Mjo0OS4wMDAwMDBazwAAAAS92Px9","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNS0wNVQxNDowNTo0NS4wMDAwMDBazwAAAAMm2r16"}},"title":"Activity ยท monzo/typhon"}