blob: 16eb31c6cd2894a3410a5bc8410a053e811dac5f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
#!/bin/bash
if [ "$REQUEST_URI" = '/favicon.ico' ]; then
exit 0
fi
RESPONSE_CONTENT_TYPE="text/html"
STATUS=200
HEADER_TITLE='source ./programadores/Jefferson Júlio/site/home.sh'
HEADER_TITLE_MOBILE='cd ./programadores/ && \\ ;> source Jefferson Júlio/\\ ;> site/home.sh'
urldecode() { : "${*//+/ }"; echo -e "${_//%/\\x}"; }
html () {
cat <<HTML
<html lang="pt-br">
<head>
<meta charset="utf-8" />
<title>jefferson.sh</title>
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
$(cat ./styles.css)
</style>
</head>
<body>
$(source ./nav.sh)
$(source ./header.sh)
<main>
$BODY
</main>
$(source ./footer.sh)
</body>
</html>
HTML
}
router () {
REQUEST_URI=$(urldecode "$REQUEST_URI")
case "$REQUEST_URI" in
/)
BODY=$(source ./pages/home.sh)
;;
/contato)
HEADER_TITLE="source ./pages/contato.sh"
HEADER_TITLE_MOBILE="$HEADER_TITLE"
BODY=$(source ./pages/contato.sh)
;;
/artigo/*.txt)
ARTICLE_FILE=./pages/articles/${REQUEST_URI/\/artigo\//}
HEADER_TITLE="cat $ARTICLE_FILE"
HEADER_TITLE_MOBILE="$HEADER_TITLE"
BODY=$(source ./pages/article.sh)
;;
/json)
RESPONSE_CONTENT_TYPE="application/json"
STATUS=200
BODY=$(cat <<JSON
{
"teste": "JSON"
}
JSON
)
;;
*)
STATUS=404
HEADER_TITLE="cat .$REQUEST_URI"
HEADER_TITLE_MOBILE="$HEADER_TITLE"
BODY="<p class='err-404'>cat: .$REQUEST_URI: Arquivo ou diretório inexistente</p>"
;;
esac
}
router
case "$RESPONSE_CONTENT_TYPE" in
"text/html")
RESPONSE_BODY=$(html)
;;
*)
RESPONSE_BODY=$BODY
esac
cat <<INDEX
Content-Type: $RESPONSE_CONTENT_TYPE
Status: $STATUS
$RESPONSE_BODY
INDEX
|