fixed curl calls
This commit is contained in:
parent
7129cecdf8
commit
799d8d5dee
@ -1,12 +1,12 @@
|
||||
package nuapi
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"compress/gzip"
|
||||
"context"
|
||||
"fmt"
|
||||
"os/exec"
|
||||
|
||||
"git.milar.in/milarin/adverr"
|
||||
"github.com/PuerkitoBio/goquery"
|
||||
)
|
||||
|
||||
@ -22,12 +22,29 @@ func (api *Api) GetWithCookie(ctx context.Context, url string) (*goquery.Documen
|
||||
"-H", fmt.Sprintf("Accept-Encoding: %s", "gzip"),
|
||||
)
|
||||
|
||||
data, err := curl.Output()
|
||||
stdout, err := curl.StdoutPipe()
|
||||
if err != nil {
|
||||
return nil, ErrCurlRequestFailed.Wrap(err, url)
|
||||
}
|
||||
defer stdout.Close()
|
||||
|
||||
r, err := gzip.NewReader(bytes.NewReader(data))
|
||||
stderr, err := curl.StderrPipe()
|
||||
if err != nil {
|
||||
return nil, ErrCurlRequestFailed.Wrap(err, url)
|
||||
}
|
||||
defer stderr.Close()
|
||||
|
||||
if err := curl.Start(); err != nil {
|
||||
return nil, ErrCurlRequestFailed.Wrap(err, url)
|
||||
}
|
||||
|
||||
go func() {
|
||||
if err := curl.Wait(); err != nil {
|
||||
adverr.Println(ErrCurlRequestFailed.Wrap(err, url))
|
||||
}
|
||||
}()
|
||||
|
||||
r, err := gzip.NewReader(stdout)
|
||||
if err != nil {
|
||||
return nil, ErrInvalidGzipData.New(err)
|
||||
}
|
||||
@ -42,12 +59,29 @@ func (api *Api) Get(ctx context.Context, url string) (*goquery.Document, error)
|
||||
"-H", fmt.Sprintf("Accept-Encoding: %s", "gzip"),
|
||||
)
|
||||
|
||||
data, err := curl.Output()
|
||||
stdout, err := curl.StdoutPipe()
|
||||
if err != nil {
|
||||
return nil, ErrCurlRequestFailed.Wrap(err, url)
|
||||
}
|
||||
defer stdout.Close()
|
||||
|
||||
r, err := gzip.NewReader(bytes.NewReader(data))
|
||||
stderr, err := curl.StderrPipe()
|
||||
if err != nil {
|
||||
return nil, ErrCurlRequestFailed.Wrap(err, url)
|
||||
}
|
||||
defer stderr.Close()
|
||||
|
||||
if err := curl.Start(); err != nil {
|
||||
return nil, ErrCurlRequestFailed.Wrap(err, url)
|
||||
}
|
||||
|
||||
go func() {
|
||||
if err := curl.Wait(); err != nil {
|
||||
adverr.Println(ErrCurlRequestFailed.Wrap(err, url))
|
||||
}
|
||||
}()
|
||||
|
||||
r, err := gzip.NewReader(stdout)
|
||||
if err != nil {
|
||||
return nil, ErrInvalidGzipData.New(err)
|
||||
}
|
Loading…
Reference in New Issue
Block a user