Confluence init
This commit is contained in:
72
Libraries/Confluence/Program.cs
Normal file
72
Libraries/Confluence/Program.cs
Normal file
@@ -0,0 +1,72 @@
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using Microsoft.AspNetCore.HttpResults;
|
||||
using Microsoft.OpenApi.Models;
|
||||
using ModelContextProtocol.AspNetCore;
|
||||
|
||||
var services = new ServiceCollection();
|
||||
|
||||
services.AddHttpClient().ConfigureHttpMessageHandlerBuilder(httpBuilder =>
|
||||
{
|
||||
httpBuilder.PrimaryHandler.MessageHandlerOptions.Events += (sender, e) =>
|
||||
{
|
||||
var request = sender;
|
||||
|
||||
if (!request.RequestUri.Equals(HttpResponseMessage.DefaultRequest?.RequestUri, StringComparison.Ordinal))
|
||||
{
|
||||
var httpVersion = request.Version;
|
||||
var headers = default(HttpHeaders?);
|
||||
var uri = default(HttpRequestUri?);
|
||||
var protocolVersion = default(HttpVersion?);
|
||||
|
||||
if (Uri.TryCreate(request.RequestUri, UriKind.Absolute, out uri))
|
||||
{
|
||||
var scheme = uri.Scheme;
|
||||
var userInfo = uri.UserInfo;
|
||||
var host = uri.Host;
|
||||
var port = uri.Port;
|
||||
var path = uri.PathAndQuery;
|
||||
var parameters = uri.Parameters;
|
||||
var fragment = uri.Fragment;
|
||||
|
||||
var queryString = default(HttpQueryNameValueCollection);
|
||||
if (!parameters.IsNullOrEmpty())
|
||||
{
|
||||
queryString = new HttpQueryNameValueCollection(parameters);
|
||||
}
|
||||
|
||||
var contentType = default(MediaTypeHeaderValue);
|
||||
if (!contentType.IsNullOrEmpty())
|
||||
{
|
||||
contentType = default;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
services.AddConfluenceServices();
|
||||
services.AddModelContextProtocol();
|
||||
services.AddOptions<WebApplication>();
|
||||
|
||||
services.AddOpenApiDocument(options =>
|
||||
{
|
||||
options.OpenApiDocumentPath = "/openapi.json";
|
||||
options.DocumentName = "Confluence MCP";
|
||||
options.DocumentDescription = "Confluence MCP Server";
|
||||
options.DocumentVersion = "1.0";
|
||||
|
||||
options.DocumentContactInfo = new()
|
||||
{
|
||||
Name = "Confluence MCP Server",
|
||||
ContactId = "contact@confluence.com"
|
||||
};
|
||||
|
||||
options.DocumentLicenseInfo = new()
|
||||
{
|
||||
Name = "Apache 2.0",
|
||||
Identifier = "Apache-2.0"
|
||||
};
|
||||
|
||||
options.ClientId = "lazybear-confluence-mcp-client";
|
||||
});
|
||||
Reference in New Issue
Block a user