66 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
| package page
 | |
| 
 | |
| import (
 | |
| 	"net/http"
 | |
| 	"strconv"
 | |
| 	"strings"
 | |
| )
 | |
| 
 | |
| const errTemplate = `<!DOCTYPE html>
 | |
| <html>
 | |
| <head>
 | |
|     <title>TITLE</title>
 | |
|     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | |
|     <meta charset="utf-8">
 | |
|     <style>
 | |
|     html {
 | |
|         background-color: #2196f3;
 | |
|         color: #fff;
 | |
|         font-family: sans-serif;
 | |
|     }
 | |
|     code {
 | |
|         background-color: rgba(0,0,0,0.1);
 | |
|         border-radius: 5px;
 | |
|         padding: 1em;
 | |
|         display: block;
 | |
|         box-sizing: border-box;
 | |
|     }
 | |
|     .center {
 | |
|         max-width: 40em;
 | |
|         margin: 2em auto 0;
 | |
|     }
 | |
|     a {
 | |
|         text-decoration: none;
 | |
|         color: #eee;
 | |
|         font-weight: bold;
 | |
|     }
 | |
| 	p {
 | |
| 		line-height: 1.3;
 | |
| 	}
 | |
|     </style>
 | |
| </head>
 | |
| 
 | |
| <body>
 | |
|     <div class="center">
 | |
|         <h1>TITLE</h1>
 | |
| 
 | |
|         <p>Try reloading the page or hitting the back button. If this error persists, it seems that you may have found a bug! Please create an issue at <a href="https://github.com/hacdias/caddy-filemanager/issues">hacdias/caddy-filemanager</a> repository on GitHub with the code below.</p>
 | |
| 
 | |
|         <code>CODE</code>
 | |
|     </div>
 | |
| </html>`
 | |
| 
 | |
| // PrintErrorHTML prints the error page
 | |
| func PrintErrorHTML(w http.ResponseWriter, code int, err error) (int, error) {
 | |
| 	tpl := errTemplate
 | |
| 	tpl = strings.Replace(tpl, "TITLE", strconv.Itoa(code)+" "+http.StatusText(code), -1)
 | |
| 	tpl = strings.Replace(tpl, "CODE", err.Error(), -1)
 | |
| 
 | |
| 	_, err = w.Write([]byte(tpl))
 | |
| 
 | |
| 	if err != nil {
 | |
| 		return http.StatusInternalServerError, err
 | |
| 	}
 | |
| 	return http.StatusOK, nil
 | |
| }
 |