0.9.6
Add https request error handling
This commit is contained in:
commit
ec5391757b
@ -180,7 +180,7 @@ export class Stream {
|
||||
"range" : `bytes=${this.bytes_count}-${end >= this.content_length ? '' : end}`
|
||||
}
|
||||
})
|
||||
if(Number(stream.statusCode) >= 400){
|
||||
if(Number(stream.statusCode) >= 400 && this.bytes_count === 0){
|
||||
this.cleanup()
|
||||
await this.retry()
|
||||
this.loop()
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
import { video_info } from "."
|
||||
import { LiveStreaming, Stream } from "./classes/LiveStream"
|
||||
import { request } from "./utils/request"
|
||||
|
||||
export enum StreamType{
|
||||
Arbitrary = 'arbitrary',
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import https, { RequestOptions } from 'https'
|
||||
import {IncomingMessage } from 'http'
|
||||
import { IncomingMessage } from 'http'
|
||||
import { URL } from 'url'
|
||||
|
||||
interface RequestOpts extends RequestOptions{
|
||||
@ -10,11 +10,11 @@ interface RequestOpts extends RequestOptions{
|
||||
async function https_getter(req_url : string, options : RequestOpts = {}): Promise<IncomingMessage>{
|
||||
return new Promise((resolve, reject) => {
|
||||
let s = new URL(req_url)
|
||||
if(!options.method) options.method = "GET"
|
||||
options.method ??= "GET"
|
||||
let req_options : RequestOptions = {
|
||||
host : s.hostname,
|
||||
path : s.pathname + s.search,
|
||||
headers : (options.headers) ? options.headers : {},
|
||||
headers : options.headers ?? {},
|
||||
method : options.method
|
||||
}
|
||||
|
||||
@ -44,7 +44,6 @@ export async function request(url : string, options? : RequestOpts): Promise<str
|
||||
|
||||
export async function request_stream(url : string, options? : RequestOpts): Promise<IncomingMessage>{
|
||||
return new Promise(async (resolve, reject) => {
|
||||
let data = ''
|
||||
let res = await https_getter(url, options)
|
||||
if(Number(res.statusCode) >= 300 && Number(res.statusCode) < 400){
|
||||
res = await https_getter(res.headers.location as string, options)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user