{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":62256097,"defaultBranch":"develop","name":"Ocelot","ownerLogin":"ThreeMammals","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-06-29T20:35:24.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/25903473?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715681146.0","currentOid":""},"activityList":{"items":[{"before":"414d8dc3085d32028e4b9aebeee6c74845cb5d74","after":"c5de8a56a3872f21aa5a5d5b21ae6cf739ffdba3","ref":"refs/heads/raman-m/954","pushedAt":"2024-05-18T18:40:19.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"},"commit":{"message":"Unit tests: 100% coverage","shortMessageHtmlLink":"Unit tests: 100% coverage"}},{"before":"04351656865e8fe694fdcc621f776e1f376aaefa","after":"414d8dc3085d32028e4b9aebeee6c74845cb5d74","ref":"refs/heads/raman-m/954","pushedAt":"2024-05-18T11:05:35.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"},"commit":{"message":"The generic `AddConsul(IOcelotBuilder)` method","shortMessageHtmlLink":"The generic AddConsul<TServiceBuilder>(IOcelotBuilder) method"}},{"before":"347503a52ca665ed66c27af809bfc5a65f79e2ac","after":"04351656865e8fe694fdcc621f776e1f376aaefa","ref":"refs/heads/raman-m/954","pushedAt":"2024-05-17T13:23:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"},"commit":{"message":"Read the node instance from `ServiceEntry`.\nIf it is null, search for a node in the common collection.","shortMessageHtmlLink":"Read the node instance from ServiceEntry."}},{"before":"18f44b9e8db8b4559affc615cf0341b538f9d605","after":"347503a52ca665ed66c27af809bfc5a65f79e2ac","ref":"refs/heads/raman-m/954","pushedAt":"2024-05-17T12:58:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"},"commit":{"message":"Code review by @RaynaldM","shortMessageHtmlLink":"Code review by @RaynaldM"}},{"before":"da741b4931d881a9224a6ce2936e157ab961a150","after":"18f44b9e8db8b4559affc615cf0341b538f9d605","ref":"refs/heads/raman-m/954","pushedAt":"2024-05-17T12:44:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"},"commit":{"message":"Update src/Ocelot.Provider.Consul/DefaultConsulServiceBuilder.cs\r\n\r\nUpdate `IsValid(ServiceEntry entry)`\n\nCo-authored-by: Raynald Messié ","shortMessageHtmlLink":"Update src/Ocelot.Provider.Consul/DefaultConsulServiceBuilder.cs"}},{"before":"acb7f3b8ba67686c1a6daae31dac8bedba622e16","after":"da741b4931d881a9224a6ce2936e157ab961a150","ref":"refs/heads/raman-m/954","pushedAt":"2024-05-16T15:48:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"},"commit":{"message":"Rename to `DefaultConsulServiceBuilder`","shortMessageHtmlLink":"Rename to DefaultConsulServiceBuilder"}},{"before":"9389501db7c900c01c4d526c50251ef44e8575fb","after":"acb7f3b8ba67686c1a6daae31dac8bedba622e16","ref":"refs/heads/raman-m/954","pushedAt":"2024-05-15T17:36:48.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"},"commit":{"message":"Refactor original unit tests","shortMessageHtmlLink":"Refactor original unit tests"}},{"before":"36479c9191549f8c2a75ecb1457a0e33d00ad34b","after":"9389501db7c900c01c4d526c50251ef44e8575fb","ref":"refs/heads/raman-m/954","pushedAt":"2024-05-15T13:08:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"},"commit":{"message":"Finalize design of the customization.\nNo JSON options because `ServiceDiscoveryProvider` are generalized for all types of providers","shortMessageHtmlLink":"Finalize design of the customization."}},{"before":"d959e88e2841c971d278e22cc6aa8747424e0bf6","after":"36479c9191549f8c2a75ecb1457a0e33d00ad34b","ref":"refs/heads/raman-m/954","pushedAt":"2024-05-15T12:40:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"},"commit":{"message":"Extend `IConsulServiceBuilder` interface","shortMessageHtmlLink":"Extend IConsulServiceBuilder interface"}},{"before":null,"after":"d959e88e2841c971d278e22cc6aa8747424e0bf6","ref":"refs/heads/raman-m/954","pushedAt":"2024-05-14T10:05:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"},"commit":{"message":"Inject services into `ConsulServiceBuilder`","shortMessageHtmlLink":"Inject services into ConsulServiceBuilder"}},{"before":"0320a8076d949e6f6090ce7f4e7ef87da5149757","after":null,"ref":"refs/heads/feature/issue-#737-pluggable-route-variables","pushedAt":"2024-05-14T08:48:18.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"}},{"before":"aef3e6b9f53ad8c8aa8c9ade92a572f60d0672a1","after":"6e9a975fae3b26229c3f0b3c1a475a7b05e95fee","ref":"refs/heads/develop","pushedAt":"2024-05-13T19:03:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ggnaegi","name":"Guillaume Gnaegi","path":"/ggnaegi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58469901?s=80&v=4"},"commit":{"message":"#2054 #2059 Manage `EnableContentHashing` setting by global `CacheOptions` (#2058)\n\n* EnableContentHashing not being considered from appsettings\r\n\r\n* Adding CacheOptionsCreator, Injected IRegionCreator as Singleton. Should still add some acceptance tests that are definitely missing!\r\n\r\n* Adding caching global configuration since we messed up, ignoring an important breaking change with EnableContentHashing set to false by default\r\n\r\n* Adding some further acceptance tests, validating EnableContentHashing, validating global config too.\r\n\r\n* removing some debug content\r\n\r\n* TtlSeconds must be set\r\n\r\n* updating documentation\r\n\r\n* Update docs/features/caching.rst\r\n\r\nCo-authored-by: Raman Maksimchuk \r\n\r\n* Update docs/features/caching.rst\r\n\r\nCo-authored-by: Raman Maksimchuk \r\n\r\n* Removing RegionCreator, moving service collection extension method to dependencyInjection\\Features etc.\r\n\r\n* adding unit tests for FileCacheOptions\r\n\r\n* some more null tests...\r\n\r\n* slight refactoring, updating ICacheOptionsCreator signature\r\n\r\n* some more design refactoring\r\n\r\n* Update src/Ocelot/Configuration/Creator/CacheOptionsCreator.cs\r\n\r\nCo-authored-by: Raman Maksimchuk \r\n\r\n* Code review by @raman-m\r\n\r\n* Rename `FileCacheOptions` -> `CacheOptions`\r\n\r\n* Subtly transition to `CacheOptions`, ensuring compatibility with `FileCacheOptions` to avoid a breaking change\r\n\r\n* Not obsolete\r\n\r\n---------\r\n\r\nCo-authored-by: Guillaume Gnaegi <58469901+ggnaegi@users.noreply.github.com>\r\nCo-authored-by: Raman Maksimchuk ","shortMessageHtmlLink":"#2054 #2059 Manage EnableContentHashing setting by global `CacheOpt…"}},{"before":"0b247afdf0c9cba7fd37f603102d151dc7e74487","after":"aef3e6b9f53ad8c8aa8c9ade92a572f60d0672a1","ref":"refs/heads/develop","pushedAt":"2024-05-07T11:09:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"},"commit":{"message":"#1590 Use correct interval for request counting (#1592)\n\n* Use correct interval for request counting\r\n\r\n* Minor fixes, return correct counter value when ban period elapsed\r\n\r\n* Revert \"Use correct interval for request counting\"\r\n\r\nThis reverts commit 7d232c7042f789d5ea32834f8c33d1adfb92ec24.\r\n\r\n* Revert \"Artificial commit, initiate CI\"\r\n\r\nThis reverts commit e723dfac839f78961eb4ce0068c36eb0ab52e30c.\r\n\r\n* CA1822 Member 'XYZ' does not access instance data and can be marked as static\r\n\r\n* Quick code review by @raman-m\r\n\r\n* Rate Limiting feature name should match folder name\r\n\r\n* namespace `Ocelot.RateLimiting`\r\n\r\n* Extract `IRateLimitCore` interface\r\n\r\n* Remove useless `ClientRateLimitProcessor` class\r\n\r\n* Rename to `IRateLimitStorage` and dev docs\r\n\r\n* Wrap services as a feature\r\n\r\n* Review `IRateLimitCore` interface and dev docs\r\n\r\n* The middleware class prefix should match the feature name\r\n\r\n* Add some basic `RateLimitCoreTests`\r\n\r\n* Rename to `IRateLimiting`\r\n\r\n* Refactor rate limiting core\r\n\r\n* Remove redundant `SaveCounter` from the interface\r\n\r\n* Thread safe storage operations\r\n\r\n* Coalesce in return statement\r\n\r\n* Convert to file-scoped namespace\r\n\r\n* Use expression body\r\n\r\n* Unit tests for #1590 user scenario\r\n\r\n* Move test class to separate feature folder\r\n\r\n* Inherit from `Steps`\r\n\r\n* Refactoring: Follow the DRY principle\r\n\r\n* Acceptance test for #1590 user scenario\r\n\r\n* Update feature docs\r\n\r\n---------\r\n\r\nCo-authored-by: raman-m ","shortMessageHtmlLink":"#1590 Use correct interval for request counting (#1592)"}},{"before":"991d7badbe329b5c4c8d60024b1c7bfb547fb90f","after":null,"ref":"refs/heads/feat/route-metadata","pushedAt":"2024-05-03T11:38:44.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ggnaegi","name":"Guillaume Gnaegi","path":"/ggnaegi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58469901?s=80&v=4"}},{"before":"991d7badbe329b5c4c8d60024b1c7bfb547fb90f","after":null,"ref":"refs/heads/pr/1843","pushedAt":"2024-05-03T11:38:21.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ggnaegi","name":"Guillaume Gnaegi","path":"/ggnaegi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58469901?s=80&v=4"}},{"before":null,"after":"991d7badbe329b5c4c8d60024b1c7bfb547fb90f","ref":"refs/heads/feat/route-metadata","pushedAt":"2024-05-03T11:37:21.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ggnaegi","name":"Guillaume Gnaegi","path":"/ggnaegi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58469901?s=80&v=4"},"commit":{"message":"Update metadata.rst","shortMessageHtmlLink":"Update metadata.rst"}},{"before":null,"after":"991d7badbe329b5c4c8d60024b1c7bfb547fb90f","ref":"refs/heads/pr/1843","pushedAt":"2024-05-03T11:34:28.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ggnaegi","name":"Guillaume Gnaegi","path":"/ggnaegi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/58469901?s=80&v=4"},"commit":{"message":"Update metadata.rst","shortMessageHtmlLink":"Update metadata.rst"}},{"before":"bc0fe7cacf501bfb93eed65aee135b3d76773752","after":null,"ref":"refs/heads/raman-m/1967","pushedAt":"2024-04-26T15:39:30.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"}},{"before":"233f87a43f5e2fbb1857f17bb6181fbd05de03bc","after":"0b247afdf0c9cba7fd37f603102d151dc7e74487","ref":"refs/heads/develop","pushedAt":"2024-04-26T15:38:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"},"commit":{"message":"#1967 Customize K8s services creation in `Kube` service discovery provider (#2052)\n\n* Initial refactoring\r\n\r\n* Interfaces namespace\r\n\r\n* `IKubeServiceBuilder` interface vs `KubeServiceBuilder` class\r\n\r\n* `IKubeServiceCreator` interface vs `KubeServiceCreator` class\r\n\r\n* Customize K8s services creation\r\n\r\n* Add logger\r\n\r\n* namespace Ocelot.AcceptanceTests.ServiceDiscovery\r\n\r\n* Add `KubernetesServiceDiscoveryTests`\r\n\r\n* Unit tests\r\n\r\n* AAA pattern\r\n\r\n* Acceptance tests\r\n\r\n* Update kubernetes.rst\r\n\r\n* Check docs","shortMessageHtmlLink":"#1967 Customize K8s services creation in Kube service discovery pro…"}},{"before":"43d298509c6d5fb4b7ea2ff963dd32126b5e901a","after":"bc0fe7cacf501bfb93eed65aee135b3d76773752","ref":"refs/heads/raman-m/1967","pushedAt":"2024-04-25T12:17:20.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"},"commit":{"message":"Check docs","shortMessageHtmlLink":"Check docs"}},{"before":"c1e2ff5411725889b7c695c281cef282a731e5c9","after":"43d298509c6d5fb4b7ea2ff963dd32126b5e901a","ref":"refs/heads/raman-m/1967","pushedAt":"2024-04-25T11:56:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"},"commit":{"message":"Update kubernetes.rst","shortMessageHtmlLink":"Update kubernetes.rst"}},{"before":"ab9fb65e1f8ca93274c3244577164880cb3fe769","after":"233f87a43f5e2fbb1857f17bb6181fbd05de03bc","ref":"refs/heads/develop","pushedAt":"2024-04-25T11:37:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"},"commit":{"message":"#2039 Buffer request body and copy the body to downstreams during multiplexing (#2050)\n\n* feat: buffer the request body during multiplexing multiple routes\r\n\r\n* style: rename clone request body method to be more explicit\r\n\r\n* Code review by @raman-m\r\n\r\n* feat: refactor clone request method, add acceptance test for form-based requests\r\n\r\n* fix: add content-length log, refactor tests from @raman-m commit\r\n\r\n* Update requestaggregation.rst\r\n\r\n* style: reverse return condition\r\n\r\n* Register `Stream` objects for disposing by downstream `HttpResponse`\r\n\r\n---------\r\n\r\nCo-authored-by: Paul Roy \r\nCo-authored-by: Raman Maksimchuk ","shortMessageHtmlLink":"#2039 Buffer request body and copy the body to downstreams during mul…"}},{"before":"525570b534c95539a13c38e481944fe24638c7de","after":"c1e2ff5411725889b7c695c281cef282a731e5c9","ref":"refs/heads/raman-m/1967","pushedAt":"2024-04-24T19:43:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"},"commit":{"message":"Update kubernetes.rst","shortMessageHtmlLink":"Update kubernetes.rst"}},{"before":"0ccf2a83be67a1ec192874b94463ade1557756ea","after":"525570b534c95539a13c38e481944fe24638c7de","ref":"refs/heads/raman-m/1967","pushedAt":"2024-04-24T17:52:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"},"commit":{"message":"Acceptance tests","shortMessageHtmlLink":"Acceptance tests"}},{"before":"588e71cfb9613cbc8599a23a084e7ca05420e4eb","after":"0ccf2a83be67a1ec192874b94463ade1557756ea","ref":"refs/heads/raman-m/1967","pushedAt":"2024-04-24T10:26:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"},"commit":{"message":"AAA pattern","shortMessageHtmlLink":"AAA pattern"}},{"before":"e51e42666d52cffcfb8a0cfc11f1b7fbd7f5ecff","after":"588e71cfb9613cbc8599a23a084e7ca05420e4eb","ref":"refs/heads/raman-m/1967","pushedAt":"2024-04-23T19:03:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"},"commit":{"message":"Unit tests","shortMessageHtmlLink":"Unit tests"}},{"before":"3d6140de54c7eb589b84ba484c8ead65d5a278e8","after":"e51e42666d52cffcfb8a0cfc11f1b7fbd7f5ecff","ref":"refs/heads/raman-m/1967","pushedAt":"2024-04-22T15:55:25.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"},"commit":{"message":"Add `KubernetesServiceDiscoveryTests`","shortMessageHtmlLink":"Add KubernetesServiceDiscoveryTests"}},{"before":"5ec40934dabee8c93ead83d171d78daf4fb7eb86","after":"3d6140de54c7eb589b84ba484c8ead65d5a278e8","ref":"refs/heads/raman-m/1967","pushedAt":"2024-04-21T11:58:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"},"commit":{"message":"Customize K8s services creation","shortMessageHtmlLink":"Customize K8s services creation"}},{"before":"5b0485a28ba850cb0e09409273fdd83cfb3a34e1","after":"5ec40934dabee8c93ead83d171d78daf4fb7eb86","ref":"refs/heads/raman-m/1967","pushedAt":"2024-04-20T17:06:52.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"},"commit":{"message":"`IKubeServiceCreator` interface vs `KubeServiceCreator` class","shortMessageHtmlLink":"IKubeServiceCreator interface vs KubeServiceCreator class"}},{"before":null,"after":"5b0485a28ba850cb0e09409273fdd83cfb3a34e1","ref":"refs/heads/raman-m/1967","pushedAt":"2024-04-20T13:35:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"raman-m","name":"Raman Maksimchuk","path":"/raman-m","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501504?s=80&v=4"},"commit":{"message":"Initial refactoring","shortMessageHtmlLink":"Initial refactoring"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAETb4NGAA","startCursor":null,"endCursor":null}},"title":"Activity · ThreeMammals/Ocelot"}