feat: implement middleware system #52
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
π Description
This PR implements a middleware system for tRPC-MCP-Go, providing flexible request/response processing capabilities for both client and server.
π Key Features Added
MiddlewareFunc
,MiddlewareChain
)ToolHandler
,Resource
,Prompt
)π οΈ Files Changed (18 files)
Core Implementation
middleware.go
- Core middleware implementationmiddleware_test.go
- Basic middleware testsmiddleware_advanced_test.go
- Advanced middleware testsIntegration
client.go
- Client middleware integrationserver.go
- Server middleware integrationhandler.go
- Handler middleware supportDocumentation
MIDDLEWARE.md
- Comprehensive documentationMIDDLEWARE_IMPLEMENTATION_COMPLETE.md
- Implementation summaryIMPLEMENTATION_SUMMARY.md
- Technical detailsExamples
examples/middleware_example/
- Basic usageexamples/client_middleware_example/
- Client demoexamples/server_middleware_example/
- Server demoUtilities
demo_enhanced_middleware.go
- Enhanced demonstrationsmiddleware_monitoring.go
- Monitoring utilitiesverify.ps1
- Verification script.gitignore
- Git ignore rulesπ§ͺ Testing
π Documentation
π Breaking Changes
None. Full backward compatibility maintained.