31 lines
505 B
Go
31 lines
505 B
Go
package realdebrid
|
|
|
|
import (
|
|
"net/http"
|
|
)
|
|
|
|
func (rd *RealDebrid) CanFetchFirstByte(url string) bool {
|
|
req, err := http.NewRequest("GET", url, nil)
|
|
if err != nil {
|
|
return false
|
|
}
|
|
|
|
req.Header.Set("Range", "bytes=0-0")
|
|
|
|
resp, err := rd.client.Do(req)
|
|
if err != nil {
|
|
return false
|
|
}
|
|
defer resp.Body.Close()
|
|
|
|
// If server supports partial content
|
|
if resp.StatusCode/100 == 2 {
|
|
buffer := make([]byte, 1)
|
|
_, err = resp.Body.Read(buffer)
|
|
if err == nil {
|
|
return true
|
|
}
|
|
}
|
|
return false
|
|
}
|