Skip to content

Commit 1ac2b04

Browse files
save file
1 parent e18bcd9 commit 1ac2b04

1 file changed

Lines changed: 49 additions & 0 deletions

File tree

  • blog/26-02-05/request-url-to-absolute-filename/ex
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
2+
/*
3+
requires
4+
path
5+
*/
6+
7+
resolve.df = false;
8+
9+
async function resolve(url,docroot='.'){
10+
resolve.df && console.log('=== resolve v2.0 ===');
11+
resolve.df && console.log('url :',url);
12+
resolve.df && console.log('docroot :',docroot);
13+
var err;
14+
try{
15+
16+
url = decodeURI(url);
17+
18+
}//try
19+
catch(err2){
20+
21+
err = err2;
22+
23+
}//catch
24+
if(err){
25+
resolve.df && console.error(err);
26+
return false;
27+
}
28+
29+
url = url.slice(1);
30+
resolve.df && console.log('url :',url);
31+
var root = path.resolve(docroot);
32+
root += path.sep;
33+
resolve.df && console.log('root :',root);
34+
var abs = path.resolve(docroot,url);
35+
resolve.df && console.log('abs :',abs);
36+
37+
if(!abs.startsWith(root)){
38+
resolve.df && console.log('fail');
39+
return false;
40+
}
41+
42+
if(url.endsWith('/')){
43+
abs += '/';
44+
}
45+
resolve.df && console.log('ok',abs);
46+
return abs;
47+
48+
}//resolve
49+

0 commit comments

Comments
 (0)