Highly-opinionated (ex-bullshit-free) MTPROTO proxy for Telegram. If you use v1.0 or upgrade broke you proxy, please read the chapter Version 2
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

api.go 658B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package api
  2. import (
  3. "fmt"
  4. "io"
  5. "io/ioutil"
  6. "net/http"
  7. "time"
  8. )
  9. const (
  10. apiUserAgent = "mtg"
  11. apiHTTPTimeout = 30 * time.Second
  12. )
  13. var httpClient = http.Client{
  14. Timeout: apiHTTPTimeout,
  15. }
  16. func request(url string) (io.ReadCloser, error) {
  17. req, err := http.NewRequest("GET", url, nil)
  18. if err != nil {
  19. panic(err)
  20. }
  21. req.Header.Set("Accept", "text/plan")
  22. req.Header.Set("User-Agent", apiUserAgent)
  23. resp, err := httpClient.Do(req)
  24. if err != nil {
  25. if resp != nil {
  26. io.Copy(ioutil.Discard, resp.Body) // nolint: errcheck
  27. resp.Body.Close()
  28. }
  29. return nil, fmt.Errorf("cannot perform a request: %w", err)
  30. }
  31. return resp.Body, err
  32. }