File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -183,6 +183,18 @@ func (e *encoder) newPrimitiveTypeEncoder(t reflect.Type) encoderFunc {
183183func (e * encoder ) newArrayTypeEncoder (t reflect.Type ) encoderFunc {
184184 itemEncoder := e .typeEncoder (t .Elem ())
185185 keyFn := e .arrayKeyEncoder ()
186+ if e .arrayFmt == "comma" {
187+ return func (key string , v reflect.Value , writer * multipart.Writer ) error {
188+ if v .Len () == 0 {
189+ return nil
190+ }
191+ elements := make ([]string , v .Len ())
192+ for i := 0 ; i < v .Len (); i ++ {
193+ elements [i ] = fmt .Sprint (v .Index (i ).Interface ())
194+ }
195+ return writer .WriteField (key , strings .Join (elements , "," ))
196+ }
197+ }
186198 return func (key string , v reflect.Value , writer * multipart.Writer ) error {
187199 if keyFn == nil {
188200 return fmt .Errorf ("apiform: unsupported array format" )
You can’t perform that action at this time.
0 commit comments