@@ -33,6 +33,8 @@ func main() {
33
33
flag .StringVar (& app .htmlDir , "html-dir" , "./ui/html" , "Path to html templates" )
34
34
flag .StringVar (& app .databaseFile , "db-file" , "./info.db" , "Path to database file" )
35
35
flag .StringVar (& app .secret , "secret" , "8sB9ozuKkqWtN3b6lEiInd1dSISxPWogpaGV5HG4wKs=" , "Secret key for cookies encryption" )
36
+ tlsCert := flag .String ("tls-cert" , "./tls/cert.pem" , "TLS certificate" )
37
+ tlsKey := flag .String ("tls-key" , "./tls/key.pem" , "TLS private-key" )
36
38
flag .Parse ()
37
39
38
40
if ! existDir (app .staticDir ) {
@@ -43,6 +45,14 @@ func main() {
43
45
log .Fatal ("Folder for html-dir was not found" )
44
46
}
45
47
48
+ if ! existDir (* tlsCert ) {
49
+ log .Fatal ("TLS certificate was not found" )
50
+ }
51
+
52
+ if ! existDir (* tlsKey ) {
53
+ log .Fatal ("TLS key was not found" )
54
+ }
55
+
46
56
if err := app .connectDb (); err != nil {
47
57
log .Fatal ("Failed to establish database connection" )
48
58
}
@@ -54,7 +64,7 @@ func main() {
54
64
sessionManager := scs .NewCookieManager (app .secret )
55
65
sessionManager .Lifetime (12 * time .Hour )
56
66
sessionManager .Persist (true )
57
-
67
+ sessionManager . Secure ( true )
58
68
app .sessions = sessionManager
59
69
60
70
server := & http.Server {
@@ -81,7 +91,7 @@ func main() {
81
91
82
92
log .Printf ("Listening on %s\n " , app .addr )
83
93
84
- if err := server .ListenAndServe ( ); err != nil {
94
+ if err := server .ListenAndServeTLS ( * tlsCert , * tlsKey ); err != nil {
85
95
if err != http .ErrServerClosed {
86
96
log .Println ("The error below raised after shutdown:" )
87
97
log .Println (err )
0 commit comments