openai/openai-dotnet

Public

mirrored from https://github.com/openai/openai-dotnetAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
OpenAI_2.0.0-beta.4

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

src/Generated/Internal/ClientUriBuilder.cs

209lines · modecode

1// <auto-generated/>
2
3#nullable disable
4
5using System;
6using System.Collections.Generic;
7using System.Linq;
8using System.Text;
9
10namespace OpenAI
11{
12 internal class ClientUriBuilder
13 {
14 private UriBuilder _uriBuilder;
15 private StringBuilder _pathBuilder;
16 private StringBuilder _queryBuilder;
17
18 public ClientUriBuilder()
19 {
20 }
21
22 private UriBuilder UriBuilder => _uriBuilder ??= new UriBuilder();
23
24 private StringBuilder PathBuilder => _pathBuilder ??= new StringBuilder(UriBuilder.Path);
25
26 private StringBuilder QueryBuilder => _queryBuilder ??= new StringBuilder(UriBuilder.Query);
27
28 public void Reset(Uri uri)
29 {
30 _uriBuilder = new UriBuilder(uri);
31 _pathBuilder = new StringBuilder(UriBuilder.Path);
32 _queryBuilder = new StringBuilder(UriBuilder.Query);
33 }
34
35 public void AppendPath(string value, bool escape)
36 {
37 Argument.AssertNotNullOrWhiteSpace(value, nameof(value));
38
39 if (escape)
40 {
41 value = Uri.EscapeDataString(value);
42 }
43
44 if (PathBuilder.Length > 0 && PathBuilder[PathBuilder.Length - 1] == '/' && value[0] == '/')
45 {
46 PathBuilder.Remove(PathBuilder.Length - 1, 1);
47 }
48
49 PathBuilder.Append(value);
50 UriBuilder.Path = PathBuilder.ToString();
51 }
52
53 public void AppendPath(bool value, bool escape = false)
54 {
55 AppendPath(ModelSerializationExtensions.TypeFormatters.ConvertToString(value), escape);
56 }
57
58 public void AppendPath(float value, bool escape = true)
59 {
60 AppendPath(ModelSerializationExtensions.TypeFormatters.ConvertToString(value), escape);
61 }
62
63 public void AppendPath(double value, bool escape = true)
64 {
65 AppendPath(ModelSerializationExtensions.TypeFormatters.ConvertToString(value), escape);
66 }
67
68 public void AppendPath(int value, bool escape = true)
69 {
70 AppendPath(ModelSerializationExtensions.TypeFormatters.ConvertToString(value), escape);
71 }
72
73 public void AppendPath(byte[] value, string format, bool escape = true)
74 {
75 AppendPath(ModelSerializationExtensions.TypeFormatters.ConvertToString(value, format), escape);
76 }
77
78 public void AppendPath(IEnumerable<string> value, bool escape = true)
79 {
80 AppendPath(ModelSerializationExtensions.TypeFormatters.ConvertToString(value), escape);
81 }
82
83 public void AppendPath(DateTimeOffset value, string format, bool escape = true)
84 {
85 AppendPath(ModelSerializationExtensions.TypeFormatters.ConvertToString(value, format), escape);
86 }
87
88 public void AppendPath(TimeSpan value, string format, bool escape = true)
89 {
90 AppendPath(ModelSerializationExtensions.TypeFormatters.ConvertToString(value, format), escape);
91 }
92
93 public void AppendPath(Guid value, bool escape = true)
94 {
95 AppendPath(ModelSerializationExtensions.TypeFormatters.ConvertToString(value), escape);
96 }
97
98 public void AppendPath(long value, bool escape = true)
99 {
100 AppendPath(ModelSerializationExtensions.TypeFormatters.ConvertToString(value), escape);
101 }
102
103 public void AppendQuery(string name, string value, bool escape)
104 {
105 Argument.AssertNotNullOrWhiteSpace(name, nameof(name));
106 Argument.AssertNotNullOrWhiteSpace(value, nameof(value));
107
108 if (QueryBuilder.Length == 0)
109 {
110 QueryBuilder.Append('?');
111 }
112 else
113 {
114 QueryBuilder.Append('&');
115 }
116
117 if (escape)
118 {
119 value = Uri.EscapeDataString(value);
120 }
121
122 QueryBuilder.Append(name);
123 QueryBuilder.Append('=');
124 QueryBuilder.Append(value);
125 }
126
127 public void AppendQuery(string name, bool value, bool escape = false)
128 {
129 AppendQuery(name, ModelSerializationExtensions.TypeFormatters.ConvertToString(value), escape);
130 }
131
132 public void AppendQuery(string name, float value, bool escape = true)
133 {
134 AppendQuery(name, ModelSerializationExtensions.TypeFormatters.ConvertToString(value), escape);
135 }
136
137 public void AppendQuery(string name, DateTimeOffset value, string format, bool escape = true)
138 {
139 AppendQuery(name, ModelSerializationExtensions.TypeFormatters.ConvertToString(value, format), escape);
140 }
141
142 public void AppendQuery(string name, TimeSpan value, string format, bool escape = true)
143 {
144 AppendQuery(name, ModelSerializationExtensions.TypeFormatters.ConvertToString(value, format), escape);
145 }
146
147 public void AppendQuery(string name, double value, bool escape = true)
148 {
149 AppendQuery(name, ModelSerializationExtensions.TypeFormatters.ConvertToString(value), escape);
150 }
151
152 public void AppendQuery(string name, decimal value, bool escape = true)
153 {
154 AppendQuery(name, ModelSerializationExtensions.TypeFormatters.ConvertToString(value), escape);
155 }
156
157 public void AppendQuery(string name, int value, bool escape = true)
158 {
159 AppendQuery(name, ModelSerializationExtensions.TypeFormatters.ConvertToString(value), escape);
160 }
161
162 public void AppendQuery(string name, long value, bool escape = true)
163 {
164 AppendQuery(name, ModelSerializationExtensions.TypeFormatters.ConvertToString(value), escape);
165 }
166
167 public void AppendQuery(string name, TimeSpan value, bool escape = true)
168 {
169 AppendQuery(name, ModelSerializationExtensions.TypeFormatters.ConvertToString(value), escape);
170 }
171
172 public void AppendQuery(string name, byte[] value, string format, bool escape = true)
173 {
174 AppendQuery(name, ModelSerializationExtensions.TypeFormatters.ConvertToString(value, format), escape);
175 }
176
177 public void AppendQuery(string name, Guid value, bool escape = true)
178 {
179 AppendQuery(name, ModelSerializationExtensions.TypeFormatters.ConvertToString(value), escape);
180 }
181
182 public void AppendQueryDelimited<T>(string name, IEnumerable<T> value, string delimiter, bool escape = true)
183 {
184 var stringValues = value.Select(v => ModelSerializationExtensions.TypeFormatters.ConvertToString(v));
185 AppendQuery(name, string.Join(delimiter, stringValues), escape);
186 }
187
188 public void AppendQueryDelimited<T>(string name, IEnumerable<T> value, string delimiter, string format, bool escape = true)
189 {
190 var stringValues = value.Select(v => ModelSerializationExtensions.TypeFormatters.ConvertToString(v, format));
191 AppendQuery(name, string.Join(delimiter, stringValues), escape);
192 }
193
194 public Uri ToUri()
195 {
196 if (_pathBuilder != null)
197 {
198 UriBuilder.Path = _pathBuilder.ToString();
199 }
200
201 if (_queryBuilder != null)
202 {
203 UriBuilder.Query = _queryBuilder.ToString();
204 }
205
206 return UriBuilder.Uri;
207 }
208 }
209}
210