forked from openai/openai-dotnet
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathModerationClient.cs
45 lines (39 loc) · 1.58 KB
/
ModerationClient.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// <auto-generated/>
#nullable disable
using System;
using System.ClientModel;
using System.ClientModel.Primitives;
using System.Threading.Tasks;
namespace OpenAI.Moderations
{
// Data plane generated sub-client.
public partial class ModerationClient
{
private const string AuthorizationHeader = "Authorization";
private readonly ApiKeyCredential _keyCredential;
private const string AuthorizationApiKeyPrefix = "Bearer";
private readonly ClientPipeline _pipeline;
private readonly Uri _endpoint;
protected ModerationClient()
{
}
internal PipelineMessage CreateCreateModerationRequest(BinaryContent content, RequestOptions options)
{
var message = _pipeline.CreateMessage();
message.ResponseClassifier = PipelineMessageClassifier200;
var request = message.Request;
request.Method = "POST";
var uri = new ClientUriBuilder();
uri.Reset(_endpoint);
uri.AppendPath("/moderations", false);
request.Uri = uri.ToUri();
request.Headers.Set("Accept", "application/json");
request.Headers.Set("Content-Type", "application/json");
request.Content = content;
message.Apply(options);
return message;
}
private static PipelineMessageClassifier _pipelineMessageClassifier200;
private static PipelineMessageClassifier PipelineMessageClassifier200 => _pipelineMessageClassifier200 ??= PipelineMessageClassifier.Create(stackalloc ushort[] { 200 });
}
}