Skip to content

Commit 4a392b8

Browse files
committed
Merge related methods
Previously, `submitRequest` depended directly on state of writer from `writeFormFiles`. These methods are related enough that they can be merged, avoiding potential maintenance problems and resulting in a more simple API.
1 parent 9e94e35 commit 4a392b8

File tree

1 file changed

+5
-22
lines changed

1 file changed

+5
-22
lines changed

cmd/submit.go

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -93,14 +93,7 @@ func runSubmit(cfg config.Config, flags *pflag.FlagSet, args []string) error {
9393
return err
9494
}
9595

96-
body := &bytes.Buffer{}
97-
writer := multipart.NewWriter(body)
98-
99-
if err := ctx.writeFormFiles(writer, exercise.Documents); err != nil {
100-
return err
101-
}
102-
103-
if err := ctx.submitRequest(metadata.ID, writer, body); err != nil {
96+
if err := ctx.submitRequest(metadata.ID, exercise.Documents); err != nil {
10497
return err
10598
}
10699

@@ -275,14 +268,14 @@ func (ctx *submitContext) documents(exerciseDir string) ([]workspace.Document, e
275268
return docs, nil
276269
}
277270

278-
func (ctx *submitContext) writeFormFiles(writer *multipart.Writer, docs []workspace.Document) error {
279-
if writer == nil {
280-
return errors.New("writer is empty")
281-
}
271+
func (ctx *submitContext) submitRequest(id string, docs []workspace.Document) error {
282272
if len(docs) == 0 {
283273
return errors.New("docs is empty")
284274
}
285275

276+
body := &bytes.Buffer{}
277+
writer := multipart.NewWriter(body)
278+
286279
for _, doc := range docs {
287280
file, err := os.Open(doc.Filepath())
288281
if err != nil {
@@ -302,16 +295,6 @@ func (ctx *submitContext) writeFormFiles(writer *multipart.Writer, docs []worksp
302295
if err := writer.Close(); err != nil {
303296
return err
304297
}
305-
return nil
306-
}
307-
308-
func (ctx *submitContext) submitRequest(id string, writer *multipart.Writer, body *bytes.Buffer) error {
309-
if writer == nil {
310-
return errors.New("writer is empty")
311-
}
312-
if body.Len() == 0 {
313-
return errors.New("body is empty")
314-
}
315298

316299
client, err := api.NewClient(ctx.usrCfg.GetString("token"), ctx.usrCfg.GetString("apibaseurl"))
317300
if err != nil {

0 commit comments

Comments
 (0)