Skip to content

Commit 860f39d

Browse files
authored
Merge pull request #47 from Linq2GraphQL/fix-singleton-issues-with-graph-opts
Fix singleton issues with graph opts
2 parents dbc4478 + 1be91ed commit 860f39d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+607
-144
lines changed

src/Linq2GraphQL.Client/GraphClient.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ public GraphClient(HttpClient httpClient, IOptions<GraphClientOptions> options,
2222

2323
HttpClient = httpClient;
2424

25-
SerializerOptions = new JsonSerializerOptions
25+
SerializerOptions = new()
2626
{
2727
DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull,
28-
WriteIndented = true
28+
Converters = { }
2929
};
3030

3131
SubscriptionUrl = GetSubscriptionUrl();

src/Linq2GraphQL.Client/QueryExecutor.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ public T ProcessResponse(string con, string name, string query)
4040
throw new GraphQueryExecutionException(errors, query);
4141
}
4242

43-
var hasData = document.RootElement.TryGetProperty(dataPathPropertyName, out var dataElement);
44-
var hasResult = dataElement.TryGetProperty(name, out var resultElement);
43+
document.RootElement.TryGetProperty(dataPathPropertyName, out var dataElement);
44+
dataElement.TryGetProperty(name, out var resultElement);
4545

4646
if (resultElement.ValueKind == JsonValueKind.Null)
4747
{

src/Linq2GraphQL.Generator/Properties/launchSettings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"profiles": {
33
"Linq2GraphQL.Generator": {
44
"commandName": "Project",
5-
"commandLineArgs": "https://localhost:50741/graphql/ -c=\"SampleNullableClient\" -n=\"Linq2GraphQL.TestClientNullable\" -o=\"C:\\Code\\Github\\Linq2GraphQL.Client\\test\\Linq2GraphQL.TestClientNullable\\Generated\" -s=true -nu=true"
5+
"commandLineArgs": "https://localhost:7184/graphql/ -c=\"SampleClient\" -n=\"Linq2GraphQL.TestClient\" -o=\"C:\\Code\\Linq2GraphQL.Client\\test\\Linq2GraphQL.TestClient\\Generated\" -s=true"
66
}
77
}
88
}

src/Linq2GraphQL.Generator/Templates/Client/ClientExtensionsTemplate.cs

Lines changed: 18 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// ------------------------------------------------------------------------------
22
// <auto-generated>
33
// This code was generated by a tool.
4-
// Runtime Version: 17.0.0.0
4+
// Runtime Version: 16.0.0.0
55
//
66
// Changes to this file may cause incorrect behavior and will be lost if
77
// the code is regenerated.
@@ -15,8 +15,8 @@ namespace Linq2GraphQL.Generator.Templates.Client
1515
/// Class to produce the template output
1616
/// </summary>
1717

18-
#line 1 "C:\Code\DevOps\Linq2GraphQL\Linq2GraphQL.Generator\Templates\Client\ClientExtensionsTemplate.tt"
19-
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "17.0.0.0")]
18+
#line 1 "C:\Code\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Client\ClientExtensionsTemplate.tt"
19+
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "16.0.0.0")]
2020
public partial class ClientExtensionsTemplate : ClientExtensionsTemplateBase
2121
{
2222
#line hidden
@@ -25,82 +25,65 @@ public partial class ClientExtensionsTemplate : ClientExtensionsTemplateBase
2525
/// </summary>
2626
public virtual string TransformText()
2727
{
28-
this.Write("using Linq2GraphQL.Client;\r\nusing Microsoft.Extensions.DependencyInjection;\r\nusin" +
29-
"g Microsoft.Extensions.Options;\r\n\r\nnamespace ");
28+
this.Write("using Linq2GraphQL.Client;\r\nusing Microsoft.Extensions.DependencyInjection;\r\nusing Microsoft.Extensions.Options;\r\n\r\nnamespace ");
3029

31-
#line 7 "C:\Code\DevOps\Linq2GraphQL\Linq2GraphQL.Generator\Templates\Client\ClientExtensionsTemplate.tt"
30+
#line 7 "C:\Code\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Client\ClientExtensionsTemplate.tt"
3231
this.Write(this.ToStringHelper.ToStringWithCulture(namespaceName));
3332

3433
#line default
3534
#line hidden
3635
this.Write(";\r\n\r\npublic static class ");
3736

38-
#line 9 "C:\Code\DevOps\Linq2GraphQL\Linq2GraphQL.Generator\Templates\Client\ClientExtensionsTemplate.tt"
37+
#line 9 "C:\Code\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Client\ClientExtensionsTemplate.tt"
3938
this.Write(this.ToStringHelper.ToStringWithCulture(clientName));
4039

4140
#line default
4241
#line hidden
4342
this.Write("Extensions \r\n{\r\n private const string ClientName = \"");
4443

45-
#line 11 "C:\Code\DevOps\Linq2GraphQL\Linq2GraphQL.Generator\Templates\Client\ClientExtensionsTemplate.tt"
44+
#line 11 "C:\Code\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Client\ClientExtensionsTemplate.tt"
4645
this.Write(this.ToStringHelper.ToStringWithCulture(clientName));
4746

4847
#line default
4948
#line hidden
5049
this.Write("\";\r\n \r\n public static IGraphClientBuilder<");
5150

52-
#line 13 "C:\Code\DevOps\Linq2GraphQL\Linq2GraphQL.Generator\Templates\Client\ClientExtensionsTemplate.tt"
51+
#line 13 "C:\Code\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Client\ClientExtensionsTemplate.tt"
5352
this.Write(this.ToStringHelper.ToStringWithCulture(clientName));
5453

5554
#line default
5655
#line hidden
5756
this.Write("> Add");
5857

59-
#line 13 "C:\Code\DevOps\Linq2GraphQL\Linq2GraphQL.Generator\Templates\Client\ClientExtensionsTemplate.tt"
58+
#line 13 "C:\Code\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Client\ClientExtensionsTemplate.tt"
6059
this.Write(this.ToStringHelper.ToStringWithCulture(clientName));
6160

6261
#line default
6362
#line hidden
64-
this.Write("(this IServiceCollection services)\r\n {\r\n var graphClientOptions = new G" +
65-
"raphClientOptions();\r\n return GraphClientBuilder(services, graphClientOpt" +
66-
"ions);\r\n }\r\n \r\n public static IGraphClientBuilder<");
63+
this.Write("(this IServiceCollection services)\r\n {\r\n var graphClientOptions = new GraphClientOptions();\r\n return GraphClientBuilder(services, graphClientOptions);\r\n }\r\n \r\n public static IGraphClientBuilder<");
6764

68-
#line 19 "C:\Code\DevOps\Linq2GraphQL\Linq2GraphQL.Generator\Templates\Client\ClientExtensionsTemplate.tt"
65+
#line 19 "C:\Code\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Client\ClientExtensionsTemplate.tt"
6966
this.Write(this.ToStringHelper.ToStringWithCulture(clientName));
7067

7168
#line default
7269
#line hidden
7370
this.Write("> Add");
7471

75-
#line 19 "C:\Code\DevOps\Linq2GraphQL\Linq2GraphQL.Generator\Templates\Client\ClientExtensionsTemplate.tt"
72+
#line 19 "C:\Code\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Client\ClientExtensionsTemplate.tt"
7673
this.Write(this.ToStringHelper.ToStringWithCulture(clientName));
7774

7875
#line default
7976
#line hidden
80-
this.Write(@"(this IServiceCollection services, Action<GraphClientOptions> opts)
81-
{
82-
var graphClientOptions = new GraphClientOptions();
83-
opts(graphClientOptions);
84-
85-
return GraphClientBuilder(services, graphClientOptions);
86-
}
87-
88-
private static IGraphClientBuilder<");
77+
this.Write("(this IServiceCollection services, Action<GraphClientOptions> opts)\r\n {\r\n var graphClientOptions = new GraphClientOptions();\r\n opts(graphClientOptions);\r\n \r\n return GraphClientBuilder(services, graphClientOptions);\r\n }\r\n\r\n private static IGraphClientBuilder<");
8978

90-
#line 27 "C:\Code\DevOps\Linq2GraphQL\Linq2GraphQL.Generator\Templates\Client\ClientExtensionsTemplate.tt"
79+
#line 27 "C:\Code\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Client\ClientExtensionsTemplate.tt"
9180
this.Write(this.ToStringHelper.ToStringWithCulture(clientName));
9281

9382
#line default
9483
#line hidden
95-
this.Write(@"> GraphClientBuilder(IServiceCollection services,
96-
GraphClientOptions graphClientOptions)
97-
{
98-
var opts = Options.Create(graphClientOptions);
99-
services.AddSingleton(opts);
100-
services.AddMemoryCache();
101-
return new ClientBuilder<");
84+
this.Write("> GraphClientBuilder(IServiceCollection services,\r\n GraphClientOptions graphClientOptions)\r\n {\r\n var opts = Options.Create(graphClientOptions);\r\n services.AddKeyedSingleton(ClientName, opts); \r\n services.AddMemoryCache(); \r\n return new ClientBuilder<");
10285

103-
#line 33 "C:\Code\DevOps\Linq2GraphQL\Linq2GraphQL.Generator\Templates\Client\ClientExtensionsTemplate.tt"
86+
#line 33 "C:\Code\Linq2GraphQL.Client\src\Linq2GraphQL.Generator\Templates\Client\ClientExtensionsTemplate.tt"
10487
this.Write(this.ToStringHelper.ToStringWithCulture(clientName));
10588

10689
#line default
@@ -116,7 +99,7 @@ public virtual string TransformText()
11699
/// <summary>
117100
/// Base class for this transformation
118101
/// </summary>
119-
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "17.0.0.0")]
102+
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.TextTemplating", "16.0.0.0")]
120103
public class ClientExtensionsTemplateBase
121104
{
122105
#region Fields
@@ -131,7 +114,7 @@ public class ClientExtensionsTemplateBase
131114
/// <summary>
132115
/// The string builder that generation-time code is using to assemble generated output
133116
/// </summary>
134-
public System.Text.StringBuilder GenerationEnvironment
117+
protected System.Text.StringBuilder GenerationEnvironment
135118
{
136119
get
137120
{

src/Linq2GraphQL.Generator/Templates/Client/ClientExtensionsTemplate.tt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public static class <#= clientName #>Extensions
2828
GraphClientOptions graphClientOptions)
2929
{
3030
var opts = Options.Create(graphClientOptions);
31-
services.AddSingleton(opts);
31+
services.AddKeyedSingleton(ClientName, opts);
3232
services.AddMemoryCache();
3333
return new ClientBuilder<<#= clientName #>>(ClientName, services);
3434
}

0 commit comments

Comments
 (0)