MCPcopy Create free account
hub / github.com/develop202/migu_video / interfaceStr

Function interfaceStr

utils/appUtils.js:9–65  ·  view source on GitHub ↗
(url, headers, urlUserId, urlToken)

Source from the content-addressed store, hash-verified

7const urlCache = {}
8
9function interfaceStr(url, headers, urlUserId, urlToken) {
10
11 let result = {
12 content: null,
13 contentType: 'text/plain;charset=UTF-8'
14 }
15 let fileName = process.cwd() + "/interface.txt"
16 switch (url) {
17 case "/playback.xml":
18 fileName = process.cwd() + "/playback.xml"
19 result.contentType = "text/xml;charset=UTF-8"
20 break;
21
22 case "/txt":
23 fileName = process.cwd() + "/interfaceTXT.txt"
24 break;
25
26 case "/m3u":
27 result.contentType = "audio/x-mpegurl; charset=utf-8"
28 break;
29
30 case "/main.m3u":
31 result.contentType = "application/octet-stream; charset=utf-8"
32 break;
33
34 default:
35 break;
36 }
37 try {
38 result.content = readFileSync(fileName)
39 } catch (error) {
40 printRed("文件获取失败")
41 console.log(error)
42 return result
43 }
44 if (url == "/playback.xml") {
45 return result
46 }
47
48 let replaceHost = `http://${headers.host}`
49
50 if (host != "" && (headers["x-real-ip"] || headers["x-forwarded-for"] || host.indexOf(headers.host) != -1)) {
51 replaceHost = host
52 }
53
54 if (pass != "") {
55 replaceHost = `${replaceHost}/${pass}`
56 }
57
58 if (urlUserId != userId && urlToken != token) {
59 replaceHost = `${replaceHost}/${urlUserId}/${urlToken}`
60 }
61
62 result.content = `${result.content}`.replaceAll("${replace}", replaceHost);
63
64 return result
65}
66

Callers 1

app.jsFile · 0.90

Calls 2

readFileSyncFunction · 0.90
printRedFunction · 0.90

Tested by

no test coverage detected