v2 / vlib / net / http / file / entity.v
28 lines · 25 sloc · 472 bytes · c51d30bf5309653c6b573ec815268e69a78ea8cc
Raw
1module file
2
3import os
4import time
5
6pub struct Entity {
7 os.FileInfo
8 path string
9 mod_time time.Time
10 url string
11 fname string
12}
13
14fn path_to_entity(path string, uri_path string) Entity {
15 pinfo := os.inode(path)
16 mut uri_base := ''
17 if uri_path.len > 0 {
18 uri_base = '/${uri_path}'
19 }
20 fname := os.file_name(path)
21 return Entity{
22 FileInfo: pinfo
23 path: path
24 mod_time: time.unix(pinfo.mtime)
25 url: '${uri_base}/${fname}'
26 fname: fname
27 }
28}
29