Skip to content

Commit

Permalink
Merge pull request #50 from OmniSharp/refactor/protocol
Browse files Browse the repository at this point in the history
[Breaking] Split protocol into it's own project
  • Loading branch information
david-driscoll authored Dec 1, 2017
2 parents 8ec355f + eb2ff5d commit 61c4255
Show file tree
Hide file tree
Showing 454 changed files with 1,409 additions and 1,363 deletions.
47 changes: 31 additions & 16 deletions LSP.sln
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26730.16
VisualStudioVersion = 15.0.27004.2009
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{D764E024-3D3F-4112-B932-2DB722A1BACC}"
EndProject
Expand All @@ -21,8 +21,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".config", ".config", "{AE4D
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JsonRpc", "src\JsonRpc\JsonRpc.csproj", "{9AF43FA2-EF35-435E-B59E-724877E44DDA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lsp", "src\Lsp\Lsp.csproj", "{50EA648A-67D3-4127-9517-EC7C1426E2E7}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "JsonRpc.Tests", "test\JsonRpc.Tests\JsonRpc.Tests.csproj", "{35F9B883-36D0-4F3B-A191-9BBD05B798A7}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Lsp.Tests", "test\Lsp.Tests\Lsp.Tests.csproj", "{482B180B-FD5C-4705-BBE1-094C905F1E1F}"
Expand All @@ -35,6 +33,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Client", "src\Client\Client
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Client.Tests", "test\Client.Tests\Client.Tests.csproj", "{97437BE1-2EC3-4F6B-AC75-C3E099040A07}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Protocol", "src\Protocol\Protocol.csproj", "{92B331E9-5225-428D-AE82-37F5F46156A3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Server", "src\Server\Server.csproj", "{E540868F-438E-4F7F-BBB7-010D6CB18A57}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand All @@ -57,18 +59,6 @@ Global
{9AF43FA2-EF35-435E-B59E-724877E44DDA}.Release|x64.Build.0 = Release|Any CPU
{9AF43FA2-EF35-435E-B59E-724877E44DDA}.Release|x86.ActiveCfg = Release|Any CPU
{9AF43FA2-EF35-435E-B59E-724877E44DDA}.Release|x86.Build.0 = Release|Any CPU
{50EA648A-67D3-4127-9517-EC7C1426E2E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{50EA648A-67D3-4127-9517-EC7C1426E2E7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{50EA648A-67D3-4127-9517-EC7C1426E2E7}.Debug|x64.ActiveCfg = Debug|Any CPU
{50EA648A-67D3-4127-9517-EC7C1426E2E7}.Debug|x64.Build.0 = Debug|Any CPU
{50EA648A-67D3-4127-9517-EC7C1426E2E7}.Debug|x86.ActiveCfg = Debug|Any CPU
{50EA648A-67D3-4127-9517-EC7C1426E2E7}.Debug|x86.Build.0 = Debug|Any CPU
{50EA648A-67D3-4127-9517-EC7C1426E2E7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{50EA648A-67D3-4127-9517-EC7C1426E2E7}.Release|Any CPU.Build.0 = Release|Any CPU
{50EA648A-67D3-4127-9517-EC7C1426E2E7}.Release|x64.ActiveCfg = Release|Any CPU
{50EA648A-67D3-4127-9517-EC7C1426E2E7}.Release|x64.Build.0 = Release|Any CPU
{50EA648A-67D3-4127-9517-EC7C1426E2E7}.Release|x86.ActiveCfg = Release|Any CPU
{50EA648A-67D3-4127-9517-EC7C1426E2E7}.Release|x86.Build.0 = Release|Any CPU
{35F9B883-36D0-4F3B-A191-9BBD05B798A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{35F9B883-36D0-4F3B-A191-9BBD05B798A7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{35F9B883-36D0-4F3B-A191-9BBD05B798A7}.Debug|x64.ActiveCfg = Debug|Any CPU
Expand Down Expand Up @@ -129,18 +119,43 @@ Global
{97437BE1-2EC3-4F6B-AC75-C3E099040A07}.Release|x64.Build.0 = Release|Any CPU
{97437BE1-2EC3-4F6B-AC75-C3E099040A07}.Release|x86.ActiveCfg = Release|Any CPU
{97437BE1-2EC3-4F6B-AC75-C3E099040A07}.Release|x86.Build.0 = Release|Any CPU
{92B331E9-5225-428D-AE82-37F5F46156A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{92B331E9-5225-428D-AE82-37F5F46156A3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{92B331E9-5225-428D-AE82-37F5F46156A3}.Debug|x64.ActiveCfg = Debug|Any CPU
{92B331E9-5225-428D-AE82-37F5F46156A3}.Debug|x64.Build.0 = Debug|Any CPU
{92B331E9-5225-428D-AE82-37F5F46156A3}.Debug|x86.ActiveCfg = Debug|Any CPU
{92B331E9-5225-428D-AE82-37F5F46156A3}.Debug|x86.Build.0 = Debug|Any CPU
{92B331E9-5225-428D-AE82-37F5F46156A3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{92B331E9-5225-428D-AE82-37F5F46156A3}.Release|Any CPU.Build.0 = Release|Any CPU
{92B331E9-5225-428D-AE82-37F5F46156A3}.Release|x64.ActiveCfg = Release|Any CPU
{92B331E9-5225-428D-AE82-37F5F46156A3}.Release|x64.Build.0 = Release|Any CPU
{92B331E9-5225-428D-AE82-37F5F46156A3}.Release|x86.ActiveCfg = Release|Any CPU
{92B331E9-5225-428D-AE82-37F5F46156A3}.Release|x86.Build.0 = Release|Any CPU
{E540868F-438E-4F7F-BBB7-010D6CB18A57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E540868F-438E-4F7F-BBB7-010D6CB18A57}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E540868F-438E-4F7F-BBB7-010D6CB18A57}.Debug|x64.ActiveCfg = Debug|Any CPU
{E540868F-438E-4F7F-BBB7-010D6CB18A57}.Debug|x64.Build.0 = Debug|Any CPU
{E540868F-438E-4F7F-BBB7-010D6CB18A57}.Debug|x86.ActiveCfg = Debug|Any CPU
{E540868F-438E-4F7F-BBB7-010D6CB18A57}.Debug|x86.Build.0 = Debug|Any CPU
{E540868F-438E-4F7F-BBB7-010D6CB18A57}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E540868F-438E-4F7F-BBB7-010D6CB18A57}.Release|Any CPU.Build.0 = Release|Any CPU
{E540868F-438E-4F7F-BBB7-010D6CB18A57}.Release|x64.ActiveCfg = Release|Any CPU
{E540868F-438E-4F7F-BBB7-010D6CB18A57}.Release|x64.Build.0 = Release|Any CPU
{E540868F-438E-4F7F-BBB7-010D6CB18A57}.Release|x86.ActiveCfg = Release|Any CPU
{E540868F-438E-4F7F-BBB7-010D6CB18A57}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{9AF43FA2-EF35-435E-B59E-724877E44DDA} = {D764E024-3D3F-4112-B932-2DB722A1BACC}
{50EA648A-67D3-4127-9517-EC7C1426E2E7} = {D764E024-3D3F-4112-B932-2DB722A1BACC}
{35F9B883-36D0-4F3B-A191-9BBD05B798A7} = {2F323ED5-EBF8-45E1-B9D3-C014561B3DDA}
{482B180B-FD5C-4705-BBE1-094C905F1E1F} = {2F323ED5-EBF8-45E1-B9D3-C014561B3DDA}
{F2067F5F-FA4E-4990-B301-E7898FC4C45F} = {A316FCEC-81AD-45FB-93EE-C62CA09300DC}
{417E95B2-5AB9-49D5-B7CD-12255472E2E7} = {D764E024-3D3F-4112-B932-2DB722A1BACC}
{97437BE1-2EC3-4F6B-AC75-C3E099040A07} = {2F323ED5-EBF8-45E1-B9D3-C014561B3DDA}
{92B331E9-5225-428D-AE82-37F5F46156A3} = {D764E024-3D3F-4112-B932-2DB722A1BACC}
{E540868F-438E-4F7F-BBB7-010D6CB18A57} = {D764E024-3D3F-4112-B932-2DB722A1BACC}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {D38DD0EC-D095-4BCD-B8AF-2D788AF3B9AE}
Expand Down
1 change: 1 addition & 0 deletions sample/SampleServer/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
using OmniSharp.Extensions.LanguageServer;
using OmniSharp.Extensions.LanguageServer.Server;

namespace SampleServer
{
Expand Down
2 changes: 1 addition & 1 deletion sample/SampleServer/SampleServer.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="../../src/Lsp/Lsp.csproj" />
<ProjectReference Include="../../src/Server/Server.csproj" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="2.0.0" />
</ItemGroup>

Expand Down
11 changes: 5 additions & 6 deletions sample/SampleServer/TextDocumentHandler.cs
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
using System;
using System.Threading.Tasks;
using OmniSharp.Extensions.LanguageServer;
using OmniSharp.Extensions.LanguageServer.Abstractions;
using OmniSharp.Extensions.LanguageServer.Capabilities.Client;
using OmniSharp.Extensions.LanguageServer.Capabilities.Server;
using OmniSharp.Extensions.LanguageServer.Models;
using OmniSharp.Extensions.LanguageServer.Protocol;
using OmniSharp.Extensions.LanguageServer.Protocol.Document;
using OmniSharp.Extensions.LanguageServer.Protocol.Client.Capabilities;
using OmniSharp.Extensions.LanguageServer.Protocol.Models;
using OmniSharp.Extensions.LanguageServer.Protocol.Server.Capabilities;
using OmniSharp.Extensions.LanguageServer.Server;

namespace SampleServer
{
Expand Down Expand Up @@ -105,4 +104,4 @@ public TextDocumentAttributes GetTextDocumentAttributes(Uri uri)
return new TextDocumentAttributes(uri, "csharp");
}
}
}
}
4 changes: 2 additions & 2 deletions src/Client/Client.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<TargetFrameworks>netstandard2.0</TargetFrameworks>
<PlatformTarget>AnyCPU</PlatformTarget>
<AssemblyName>OmniSharp.Extensions.LanguageClient</AssemblyName>
<RootNamespace>OmniSharp.Extensions.LanguageServerProtocol.Client</RootNamespace>
<RootNamespace>OmniSharp.Extensions.LanguageServer.Client</RootNamespace>
</PropertyGroup>

<ItemGroup>
Expand All @@ -16,6 +16,6 @@

<ItemGroup>
<ProjectReference Include="..\JsonRpc\JsonRpc.csproj" />
<ProjectReference Include="..\Lsp\Lsp.csproj" />
<ProjectReference Include="..\Protocol\Protocol.csproj" />
</ItemGroup>
</Project>
11 changes: 6 additions & 5 deletions src/Client/Clients/TextDocumentClient.Completions.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
using OmniSharp.Extensions.LanguageServer.Models;
using OmniSharp.Extensions.LanguageServerProtocol.Client.Utilities;
using System;
using System.Threading;
using System.Threading.Tasks;
using OmniSharp.Extensions.LanguageServer.Client.Utilities;
using OmniSharp.Extensions.LanguageServer.Protocol;
using OmniSharp.Extensions.LanguageServer.Protocol.Models;

namespace OmniSharp.Extensions.LanguageServerProtocol.Client.Clients
namespace OmniSharp.Extensions.LanguageServer.Client.Clients
{
/// <summary>
/// Client for the LSP Text Document API.
Expand All @@ -31,7 +32,7 @@ public partial class TextDocumentClient
/// </returns>
public Task<CompletionList> Completions(string filePath, int line, int column, CancellationToken cancellationToken = default(CancellationToken))
{
if (String.IsNullOrWhiteSpace(filePath))
if (string.IsNullOrWhiteSpace(filePath))
throw new ArgumentException($"Argument cannot be null, empty, or entirely composed of whitespace: {nameof(filePath)}.", nameof(filePath));

Uri documentUri = DocumentUri.FromFileSystemPath(filePath);
Expand Down Expand Up @@ -59,7 +60,7 @@ public partial class TextDocumentClient
/// </returns>
public Task<CompletionList> Completions(Uri documentUri, int line, int column, CancellationToken cancellationToken = default(CancellationToken))
{
return PositionalRequest<CompletionList>("textDocument/completion", documentUri, line, column, cancellationToken);
return PositionalRequest<CompletionList>(DocumentNames.Completion, documentUri, line, column, cancellationToken);
}
}
}
13 changes: 6 additions & 7 deletions src/Client/Clients/TextDocumentClient.Diagnostics.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
using OmniSharp.Extensions.LanguageServer.Models;
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using OmniSharp.Extensions.LanguageServer.Protocol;
using OmniSharp.Extensions.LanguageServer.Protocol.Models;

namespace OmniSharp.Extensions.LanguageServerProtocol.Client.Clients
namespace OmniSharp.Extensions.LanguageServer.Client.Clients
{
/// <summary>
/// Client for the LSP Text Document API.
Expand All @@ -29,12 +27,13 @@ public IDisposable OnPublishDiagnostics(PublishDiagnosticsHandler handler)
if (handler == null)
throw new ArgumentNullException(nameof(handler));

return Client.HandleNotification<PublishDiagnosticsParams>("textDocument/publishDiagnostics", notification =>
return Client.HandleNotification<PublishDiagnosticsParams>(DocumentNames.PublishDiagnostics, notification =>
{
if (notification.Diagnostics == null)
if (notification.Diagnostics == null)
return; // Invalid notification.

List<Diagnostic> diagnostics = new List<Diagnostic>();
var diagnostics = new List<Diagnostic>();
if (notification.Diagnostics != null)
diagnostics.AddRange(notification.Diagnostics);

Expand Down
12 changes: 6 additions & 6 deletions src/Client/Clients/TextDocumentClient.Hover.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
using OmniSharp.Extensions.LanguageServer.Models;
using System;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using OmniSharp.Extensions.LanguageServerProtocol.Client.Utilities;
using OmniSharp.Extensions.LanguageServer.Client.Utilities;
using OmniSharp.Extensions.LanguageServer.Protocol;
using OmniSharp.Extensions.LanguageServer.Protocol.Models;

namespace OmniSharp.Extensions.LanguageServerProtocol.Client.Clients
namespace OmniSharp.Extensions.LanguageServer.Client.Clients
{
/// <summary>
/// Client for the LSP Text Document API.
Expand All @@ -32,7 +32,7 @@ public partial class TextDocumentClient
/// </returns>
public Task<Hover> Hover(string filePath, int line, int column, CancellationToken cancellationToken = default(CancellationToken))
{
if (String.IsNullOrWhiteSpace(filePath))
if (string.IsNullOrWhiteSpace(filePath))
throw new ArgumentException("Argument cannot be null, empty, or entirely composed of whitespace: 'filePath'.", nameof(filePath));

Uri documentUri = DocumentUri.FromFileSystemPath(filePath);
Expand Down Expand Up @@ -60,7 +60,7 @@ public partial class TextDocumentClient
/// </returns>
public Task<Hover> Hover(Uri documentUri, int line, int column, CancellationToken cancellationToken = default(CancellationToken))
{
return PositionalRequest<Hover>("textDocument/hover", documentUri, line, column, cancellationToken);
return PositionalRequest<Hover>(DocumentNames.Hover, documentUri, line, column, cancellationToken);
}
}
}
29 changes: 14 additions & 15 deletions src/Client/Clients/TextDocumentClient.Sync.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
using OmniSharp.Extensions.LanguageServer.Models;
using OmniSharp.Extensions.LanguageServerProtocol.Client.Utilities;
using System;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using OmniSharp.Extensions.LanguageServer.Client.Utilities;
using OmniSharp.Extensions.LanguageServer.Protocol;
using OmniSharp.Extensions.LanguageServer.Protocol.Models;

namespace OmniSharp.Extensions.LanguageServerProtocol.Client.Clients
namespace OmniSharp.Extensions.LanguageServer.Client.Clients
{
/// <summary>
/// Client for the LSP Text Document API.
Expand All @@ -29,7 +28,7 @@ public partial class TextDocumentClient
/// </remarks>
public void DidOpen(string filePath, string languageId, int version = 0)
{
if (String.IsNullOrWhiteSpace(filePath))
if (string.IsNullOrWhiteSpace(filePath))
throw new ArgumentException($"Argument cannot be null, empty, or entirely composed of whitespace: {nameof(filePath)}.", nameof(filePath));

string text = null;
Expand Down Expand Up @@ -61,7 +60,7 @@ public void DidOpen(string filePath, string languageId, int version = 0)
/// </param>
public void DidOpen(string filePath, string languageId, string text, int version = 0)
{
if (String.IsNullOrWhiteSpace(filePath))
if (string.IsNullOrWhiteSpace(filePath))
throw new ArgumentException($"Argument cannot be null, empty, or entirely composed of whitespace: {nameof(filePath)}.", nameof(filePath));

Uri documentUri = DocumentUri.FromFileSystemPath(filePath);
Expand Down Expand Up @@ -89,7 +88,7 @@ public void DidOpen(Uri documentUri, string languageId, string text, int version
if (documentUri == null)
throw new ArgumentNullException(nameof(documentUri));

Client.SendNotification("textDocument/didOpen", new DidOpenTextDocumentParams
Client.SendNotification(DocumentNames.DidOpen, new DidOpenTextDocumentParams
{
TextDocument = new TextDocumentItem
{
Expand Down Expand Up @@ -120,7 +119,7 @@ public void DidOpen(Uri documentUri, string languageId, string text, int version
/// </remarks>
public void DidChange(string filePath, string languageId, int version = 0)
{
if (String.IsNullOrWhiteSpace(filePath))
if (string.IsNullOrWhiteSpace(filePath))
throw new ArgumentException($"Argument cannot be null, empty, or entirely composed of whitespace: {nameof(filePath)}.", nameof(filePath));

string text = null;
Expand Down Expand Up @@ -155,7 +154,7 @@ public void DidChange(string filePath, string languageId, int version = 0)
/// </remarks>
public void DidChange(string filePath, string languageId, string text, int version = 0)
{
if (String.IsNullOrWhiteSpace(filePath))
if (string.IsNullOrWhiteSpace(filePath))
throw new ArgumentException($"Argument cannot be null, empty, or entirely composed of whitespace: {nameof(filePath)}.", nameof(filePath));

Uri documentUri = DocumentUri.FromFileSystemPath(filePath);
Expand Down Expand Up @@ -186,7 +185,7 @@ public void DidChange(Uri documentUri, string languageId, string text, int versi
if (documentUri == null)
throw new ArgumentNullException(nameof(documentUri));

Client.SendNotification("textDocument/didChange", new DidChangeTextDocumentParams
Client.SendNotification(DocumentNames.DidChange, new DidChangeTextDocumentParams
{
TextDocument = new VersionedTextDocumentIdentifier
{
Expand All @@ -211,7 +210,7 @@ public void DidChange(Uri documentUri, string languageId, string text, int versi
/// </param>
public void DidClose(string filePath)
{
if (String.IsNullOrWhiteSpace(filePath))
if (string.IsNullOrWhiteSpace(filePath))
throw new ArgumentException($"Argument cannot be null, empty, or entirely composed of whitespace: {nameof(filePath)}.", nameof(filePath));

DidClose(
Expand All @@ -230,7 +229,7 @@ public void DidClose(Uri documentUri)
if (documentUri == null)
throw new ArgumentNullException(nameof(documentUri));

Client.SendNotification("textDocument/didClose", new DidCloseTextDocumentParams
Client.SendNotification(DocumentNames.DidClose, new DidCloseTextDocumentParams
{
TextDocument = new TextDocumentItem
{
Expand All @@ -247,7 +246,7 @@ public void DidClose(Uri documentUri)
/// </param>
public void DidSave(string filePath)
{
if (String.IsNullOrWhiteSpace(filePath))
if (string.IsNullOrWhiteSpace(filePath))
throw new ArgumentException($"Argument cannot be null, empty, or entirely composed of whitespace: {nameof(filePath)}.", nameof(filePath));

DidSave(
Expand All @@ -266,7 +265,7 @@ public void DidSave(Uri documentUri)
if (documentUri == null)
throw new ArgumentNullException(nameof(documentUri));

Client.SendNotification("textDocument/didSave", new DidSaveTextDocumentParams
Client.SendNotification(DocumentNames.DidSave, new DidSaveTextDocumentParams
{
TextDocument = new TextDocumentItem
{
Expand Down
8 changes: 3 additions & 5 deletions src/Client/Clients/TextDocumentClient.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
using OmniSharp.Extensions.LanguageServer.Models;
using OmniSharp.Extensions.LanguageServerProtocol.Client.Utilities;
using System;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using OmniSharp.Extensions.LanguageServer.Protocol.Models;

namespace OmniSharp.Extensions.LanguageServerProtocol.Client.Clients
namespace OmniSharp.Extensions.LanguageServer.Client.Clients
{
/// <summary>
/// Client for the LSP Text Document API.
Expand Down Expand Up @@ -57,7 +55,7 @@ public TextDocumentClient(LanguageClient client)
/// </returns>
async Task<TResponse> PositionalRequest<TResponse>(string method, Uri documentUri, int line, int column, CancellationToken cancellationToken)
{
if (String.IsNullOrWhiteSpace(method))
if (string.IsNullOrWhiteSpace(method))
throw new ArgumentException($"Argument cannot be null, empty, or entirely composed of whitespace: {nameof(method)}.", nameof(method));

if (documentUri == null)
Expand Down
Loading

0 comments on commit 61c4255

Please sign in to comment.