diff --git a/services/services.go b/services/services.go new file mode 100644 index 0000000000000000000000000000000000000000..f9e1eda2cbe83505b5beb5644419efc65d227ded --- /dev/null +++ b/services/services.go @@ -0,0 +1,25 @@ +package services + +import ( + "encoding/json" + "net/http" + "time" + "assignment1/models" +) + +// FetchBooksByLanguage retrieves books from the Gutendex API by language. +func FetchBooksByLanguage(language string) (*models.GutenbergResponse, error) { + url := "http://129.241.150.113:8000/books?languages=" + language + resp, err := http.Get(url) + if err != nil { + return nil, err + } + defer resp.Body.Close() + + var booksResponse models.GutenbergResponse + if err := json.NewDecoder(resp.Body).Decode(&booksResponse); err != nil { + return nil, err + } + + return &booksResponse, nil +}