{"id":29408812,"url":"https://github.com/timewarpengineering/timewarp-mediator","last_synced_at":"2025-07-11T03:08:05.873Z","repository":{"id":302676278,"uuid":"1012696967","full_name":"TimeWarpEngineering/timewarp-mediator","owner":"TimeWarpEngineering","description":"Simple, unambitious mediator implementation in .NET","archived":false,"fork":false,"pushed_at":"2025-07-03T16:11:15.000Z","size":6009,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-03T17:25:54.427Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TimeWarpEngineering.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-02T18:27:52.000Z","updated_at":"2025-07-03T16:11:19.000Z","dependencies_parsed_at":"2025-07-03T17:39:18.230Z","dependency_job_id":null,"html_url":"https://github.com/TimeWarpEngineering/timewarp-mediator","commit_stats":null,"previous_names":["timewarpengineering/timewarp-mediator"],"tags_count":39,"template":false,"template_full_name":null,"purl":"pkg:github/TimeWarpEngineering/timewarp-mediator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TimeWarpEngineering%2Ftimewarp-mediator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TimeWarpEngineering%2Ftimewarp-mediator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TimeWarpEngineering%2Ftimewarp-mediator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TimeWarpEngineering%2Ftimewarp-mediator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TimeWarpEngineering","download_url":"https://codeload.github.com/TimeWarpEngineering/timewarp-mediator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TimeWarpEngineering%2Ftimewarp-mediator/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264719240,"owners_count":23653542,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-11T03:08:03.829Z","updated_at":"2025-07-11T03:08:05.850Z","avatar_url":"https://github.com/TimeWarpEngineering.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"TimeWarp Mediator\n=================\n\nTODO:  New Readme content.\n\n---\n\n## Original MediatR\n\n![CI](https://github.com/jbogard/MediatR/workflows/CI/badge.svg)\n[![NuGet](https://img.shields.io/nuget/dt/mediatr.svg)](https://www.nuget.org/packages/mediatr) \n[![NuGet](https://img.shields.io/nuget/vpre/mediatr.svg)](https://www.nuget.org/packages/mediatr)\n[![MyGet (dev)](https://img.shields.io/myget/mediatr-ci/v/MediatR.svg)](https://myget.org/gallery/mediatr-ci)\n\nSimple mediator implementation in .NET\n\nIn-process messaging with no dependencies.\n\nSupports request/response, commands, queries, notifications and events, synchronous and async with intelligent dispatching via C# generic variance.\n\nExamples in the [wiki](https://github.com/jbogard/MediatR/wiki).\n\n### Installing MediatR\n\nYou should install [MediatR with NuGet](https://www.nuget.org/packages/MediatR):\n\n    Install-Package MediatR\n    \nOr via the .NET Core command line interface:\n\n    dotnet add package MediatR\n\nEither commands, from Package Manager Console or .NET Core CLI, will download and install MediatR and all required dependencies.\n\n### Using Contracts-Only Package\n\nTo reference only the contracts for MediatR, which includes:\n\n- `IRequest` (including generic variants)\n- `INotification`\n- `IStreamRequest`\n\nAdd a package reference to [MediatR.Contracts](https://www.nuget.org/packages/MediatR.Contracts)\n\nThis package is useful in scenarios where your MediatR contracts are in a separate assembly/project from handlers. Example scenarios include:\n- API contracts\n- GRPC contracts\n- Blazor\n\n### Registering with `IServiceCollection`\n\nMediatR supports `Microsoft.Extensions.DependencyInjection.Abstractions` directly. To register various MediatR services and handlers:\n\n```\nservices.AddMediatR(cfg =\u003e cfg.RegisterServicesFromAssemblyContaining\u003cStartup\u003e());\n```\n\nor with an assembly:\n\n```\nservices.AddMediatR(cfg =\u003e cfg.RegisterServicesFromAssembly(typeof(Startup).Assembly));\n```\n\nThis registers:\n\n- `IMediator` as transient\n- `ISender` as transient\n- `IPublisher` as transient\n- `IRequestHandler\u003c,\u003e` concrete implementations as transient\n- `IRequestHandler\u003c\u003e` concrete implementations as transient\n- `INotificationHandler\u003c\u003e` concrete implementations as transient\n- `IStreamRequestHandler\u003c\u003e` concrete implementations as transient\n- `IRequestExceptionHandler\u003c,,\u003e` concrete implementations as transient\n- `IRequestExceptionAction\u003c,\u003e)` concrete implementations as transient\n\nThis also registers open generic implementations for:\n\n- `INotificationHandler\u003c\u003e`\n- `IRequestExceptionHandler\u003c,,\u003e`\n- `IRequestExceptionAction\u003c,\u003e`\n\nTo register behaviors, stream behaviors, pre/post processors:\n\n```csharp\nservices.AddMediatR(cfg =\u003e {\n    cfg.RegisterServicesFromAssembly(typeof(Startup).Assembly);\n    cfg.AddBehavior\u003cPingPongBehavior\u003e();\n    cfg.AddStreamBehavior\u003cPingPongStreamBehavior\u003e();\n    cfg.AddRequestPreProcessor\u003cPingPreProcessor\u003e();\n    cfg.AddRequestPostProcessor\u003cPingPongPostProcessor\u003e();\n    cfg.AddOpenBehavior(typeof(GenericBehavior\u003c,\u003e));\n    });\n```\n\nWith additional methods for open generics and overloads for explicit service types.\n\n## License\n\nTimeWarp Mediator is released under The Unlicense (see `UNLICENSE`). Original MediatR code by Jimmy Bogard is under Apache 2.0 (see `NOTICE`).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimewarpengineering%2Ftimewarp-mediator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimewarpengineering%2Ftimewarp-mediator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimewarpengineering%2Ftimewarp-mediator/lists"}