openai/openai-go

Public

mirrored fromhttps://github.com/openai/openai-goAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
08e89a6fc0acbacf4645e16183e1130486e8a5de

Branches

Tags

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

Clone

HTTPS

Download ZIP

internal/apiform/richparam.go

20lines · modecode

1package apiform
2
3import (
4 "github.com/openai/openai-go/v3/packages/param"
5 "mime/multipart"
6 "reflect"
7)
8
9func (e *encoder) newRichFieldTypeEncoder(t reflect.Type) encoderFunc {
10 f, _ := t.FieldByName("Value")
11 enc := e.newPrimitiveTypeEncoder(f.Type)
12 return func(key string, value reflect.Value, writer *multipart.Writer) error {
13 if opt, ok := value.Interface().(param.Optional); ok && opt.Valid() {
14 return enc(key, value.FieldByIndex(f.Index), writer)
15 } else if ok && param.IsNull(opt) {
16 return writer.WriteField(key, "null")
17 }
18 return nil
19 }
20}
21