MCPcopy
hub / github.com/bilibili/flv.js / ParamSeekHandler

Class ParamSeekHandler

src/io/param-seek-handler.js:19–83  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

17 */
18
19class ParamSeekHandler {
20
21 constructor(paramStart, paramEnd) {
22 this._startName = paramStart;
23 this._endName = paramEnd;
24 }
25
26 getConfig(baseUrl, range) {
27 let url = baseUrl;
28
29 if (range.from !== 0 || range.to !== -1) {
30 let needAnd = true;
31 if (url.indexOf('?') === -1) {
32 url += '?';
33 needAnd = false;
34 }
35
36 if (needAnd) {
37 url += '&';
38 }
39
40 url += `${this._startName}=${range.from.toString()}`;
41
42 if (range.to !== -1) {
43 url += `&${this._endName}=${range.to.toString()}`;
44 }
45 }
46
47 return {
48 url: url,
49 headers: {}
50 };
51 }
52
53 removeURLParameters(seekedURL) {
54 let baseURL = seekedURL.split('?')[0];
55 let params = undefined;
56
57 let queryIndex = seekedURL.indexOf('?');
58 if (queryIndex !== -1) {
59 params = seekedURL.substring(queryIndex + 1);
60 }
61
62 let resultParams = '';
63
64 if (params != undefined && params.length > 0) {
65 let pairs = params.split('&');
66
67 for (let i = 0; i < pairs.length; i++) {
68 let pair = pairs[i].split('=');
69 let requireAnd = (i > 0);
70
71 if (pair[0] !== this._startName && pair[0] !== this._endName) {
72 if (requireAnd) {
73 resultParams += '&';
74 }
75 resultParams += pairs[i];
76 }

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…