openai/openai-dotnet

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
OpenAI_2.0.0-beta.10

Branches

Tags

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

Clone

HTTPS

Download ZIP

src/Generated/Internal/ClientUriBuilder.cs

205lines · 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
113 if (escape)
114 {
115 value = Uri.EscapeDataString(value);
116 }
117
118 QueryBuilder.Append(name);
119 QueryBuilder.Append('=');
120 QueryBuilder.Append(value);
121 }
122
123 public void AppendQuery(string name, bool value, bool escape = false)
124 {
125 AppendQuery(name, ModelSerializationExtensions.TypeFormatters.ConvertToString(value), escape);
126 }
127
128 public void AppendQuery(string name, float value, bool escape = true)
129 {
130 AppendQuery(name, ModelSerializationExtensions.TypeFormatters.ConvertToString(value), escape);
131 }
132
133 public void AppendQuery(string name, DateTimeOffset value, string format, bool escape = true)
134 {
135 AppendQuery(name, ModelSerializationExtensions.TypeFormatters.ConvertToString(value, format), escape);
136 }
137
138 public void AppendQuery(string name, TimeSpan value, string format, bool escape = true)
139 {
140 AppendQuery(name, ModelSerializationExtensions.TypeFormatters.ConvertToString(value, format), escape);
141 }
142
143 public void AppendQuery(string name, double value, bool escape = true)
144 {
145 AppendQuery(name, ModelSerializationExtensions.TypeFormatters.ConvertToString(value), escape);
146 }
147
148 public void AppendQuery(string name, decimal value, bool escape = true)
149 {
150 AppendQuery(name, ModelSerializationExtensions.TypeFormatters.ConvertToString(value), escape);
151 }
152
153 public void AppendQuery(string name, int value, bool escape = true)
154 {
155 AppendQuery(name, ModelSerializationExtensions.TypeFormatters.ConvertToString(value), escape);
156 }
157
158 public void AppendQuery(string name, long value, bool escape = true)
159 {
160 AppendQuery(name, ModelSerializationExtensions.TypeFormatters.ConvertToString(value), escape);
161 }
162
163 public void AppendQuery(string name, TimeSpan value, bool escape = true)
164 {
165 AppendQuery(name, ModelSerializationExtensions.TypeFormatters.ConvertToString(value), escape);
166 }
167
168 public void AppendQuery(string name, byte[] value, string format, bool escape = true)
169 {
170 AppendQuery(name, ModelSerializationExtensions.TypeFormatters.ConvertToString(value, format), escape);
171 }
172
173 public void AppendQuery(string name, Guid value, bool escape = true)
174 {
175 AppendQuery(name, ModelSerializationExtensions.TypeFormatters.ConvertToString(value), escape);
176 }
177
178 public void AppendQueryDelimited<T>(string name, IEnumerable<T> value, string delimiter, bool escape = true)
179 {
180 var stringValues = value.Select(v => ModelSerializationExtensions.TypeFormatters.ConvertToString(v));
181 AppendQuery(name, string.Join(delimiter, stringValues), escape);
182 }
183
184 public void AppendQueryDelimited<T>(string name, IEnumerable<T> value, string delimiter, string format, bool escape = true)
185 {
186 var stringValues = value.Select(v => ModelSerializationExtensions.TypeFormatters.ConvertToString(v, format));
187 AppendQuery(name, string.Join(delimiter, stringValues), escape);
188 }
189
190 public Uri ToUri()
191 {
192 if (_pathBuilder != null)
193 {
194 UriBuilder.Path = _pathBuilder.ToString();
195 }
196
197 if (_queryBuilder != null)
198 {
199 UriBuilder.Query = _queryBuilder.ToString();
200 }
201
202 return UriBuilder.Uri;
203 }
204 }
205}
206