elma_developer_test/solutions/service.go

56 lines
1000 B
Go
Raw Normal View History

2022-09-30 23:35:21 +03:00
package solutions
import (
"encoding/json"
2022-11-30 22:06:45 +03:00
"fmt"
"io"
"log"
"net/http"
)
func ProcessTask(taskName string) ([]byte, error) {
//получаем условия для задач
2022-11-30 22:06:45 +03:00
var taskCases [10][]json.RawMessage
err := getCases(taskName, taskCases)
if err != nil {
log.Fatalln(err)
return []byte{}, err
}
//решение задач
//
//сборка результата
//
//должен вернуть вывод решения
return nil, nil
}
2022-11-30 22:06:45 +03:00
func getCases(taskName string, taskCases [10][]json.RawMessage) error {
2022-11-30 22:06:45 +03:00
response, err := http.Get(fmt.Sprintf("%s/tasks/%s", SolutionURL, taskName))
if err != nil {
log.Fatalln(err)
return err
}
defer func(Body io.ReadCloser) {
err := Body.Close()
if err != nil {
log.Fatalln(err)
}
}(response.Body)
payload, err := io.ReadAll(response.Body)
if err != nil {
log.Fatalln(err)
return err
}
err = json.Unmarshal(payload, &taskCases)
if err != nil {
log.Fatalln(err)
return err
}
return nil
}