api update

This commit is contained in:
2018-10-04 23:36:34 +02:00
parent 356bf63ed3
commit 78e5acdfcc
17 changed files with 81 additions and 77 deletions

View File

@@ -78,7 +78,7 @@ func (f filePreview) run(inf *pixelapi.FileInfo) string {
return f.pdf()
case
"application/octet-stream": // Fallback for when mime type not recognized
switch filepath.Ext(f.FileInfo.FileName) {
switch filepath.Ext(f.FileInfo.Name) {
case
".mp3":
return f.audio()
@@ -110,7 +110,7 @@ func (f filePreview) audio() string {
</audio>
</div>
<script src="/res/viewer-scripts/audio.js"></script>`,
f.FileInfo.FileName,
f.FileInfo.Name,
f.FileURL,
)
}
@@ -138,7 +138,7 @@ func (f filePreview) text() string {
<pre class="pre-container %s" style="width: 100%%;">%s</pre>
</div>`
if f.FileInfo.FileSize > 1e6 { // Prevent out of memory errors
if f.FileInfo.Size > 1e6 { // Prevent out of memory errors
return fmt.Sprintf(htmlOut, "",
"File is too large to view online.\nPlease download and view it locally.",
)
@@ -191,7 +191,7 @@ seamless="seamless" frameborder="0" allowtransparency="true"
func (f filePreview) def() string {
return fmt.Sprintf(
`%s<br/>%s<br/><a href="%s"><img src="%s" class="image"></a>`,
f.FileInfo.FileName,
f.FileInfo.Name,
f.FileInfo.MimeType,
f.DownloadURL,
f.APIURL+f.FileInfo.ThumbnailHREF,

View File

@@ -61,7 +61,7 @@ func (wc *WebController) serveFileViewer(w http.ResponseWriter, r *http.Request,
})
} else {
err = wc.templates.Get().ExecuteTemplate(w, "file_viewer", map[string]interface{}{
"Title": fmt.Sprintf("%s ~ Pixeldrain file", finfo[0].FileName),
"Title": fmt.Sprintf("%s ~ Pixeldrain file", finfo[0].Name),
"APIResponse": finfo[0],
"Type": "file",
"OGData": ogData.FromFile(*finfo[0]),
@@ -80,10 +80,10 @@ func (wc *WebController) serveFileViewerDemo(w http.ResponseWriter) {
wc.templates.Get().ExecuteTemplate(w, "file_viewer", map[string]interface{}{
"APIResponse": map[string]interface{}{
"id": "demo",
"file_name": "Demo file",
"name": "Demo file",
"date_upload": "2017-01-01 12:34:56",
"date_lastview": "2017-01-01 12:34:56",
"file_size": 123456789,
"size": 123456789,
"views": 1,
"mime_type": "text/demo",
"description": "A file to demonstrate the viewer page",

View File

@@ -18,10 +18,10 @@ type OGData struct {
// FromFile populates the OGData object from FileInfo. It returns itself for
// compactness.
func (d *OGData) FromFile(f pixelapi.FileInfo) *OGData {
d.Title = f.FileName
d.Title = f.Name
d.Type = "website"
d.SiteName = "Pixeldrain"
d.Description = "View " + f.FileName + " on Pixeldrain"
d.Description = "View " + f.Name + " on Pixeldrain"
d.URL = "/u/" + f.ID
d.Image = "/api/file/" + f.ID + "/thumbnail"
return d

View File

@@ -36,28 +36,30 @@ func New(r *httprouter.Router, prefix string, conf *conf.PixelWebConfig) *WebCon
)
wc.templates.ParseTemplates(false)
var p = prefix
// Serve static files
r.ServeFiles(prefix+"/res/*filepath", http.Dir(wc.staticResourceDir+"/res"))
r.ServeFiles(p+"/res/*filepath", http.Dir(wc.staticResourceDir+"/res"))
// General navigation
r.GET(prefix+"/" /* */, wc.serveTemplate("home", false))
r.GET(prefix+"/favicon.ico" /* */, wc.serveFile("/favicon.ico"))
r.GET(prefix+"/global.css" /* */, wc.globalCSSHandler)
r.GET(prefix+"/api" /* */, wc.serveTemplate("apidoc", false))
r.GET(prefix+"/history" /* */, wc.serveTemplate("history_cookies", false))
r.GET(prefix+"/u/:id" /* */, wc.serveFileViewer)
r.GET(prefix+"/u/:id/preview" /* */, wc.serveFilePreview)
r.GET(prefix+"/l/:id" /* */, wc.serveListViewer)
r.GET(prefix+"/t" /* */, wc.serveTemplate("paste", false))
r.GET(p+"/" /* */, wc.serveTemplate("home", false))
r.GET(p+"/favicon.ico" /* */, wc.serveFile("/favicon.ico"))
r.GET(p+"/global.css" /* */, wc.globalCSSHandler)
r.GET(p+"/api" /* */, wc.serveTemplate("apidoc", false))
r.GET(p+"/history" /* */, wc.serveTemplate("history_cookies", false))
r.GET(p+"/u/:id" /* */, wc.serveFileViewer)
r.GET(p+"/u/:id/preview" /* */, wc.serveFilePreview)
r.GET(p+"/l/:id" /* */, wc.serveListViewer)
r.GET(p+"/t" /* */, wc.serveTemplate("paste", false))
// User account pages
r.GET(prefix+"/register" /* */, wc.serveRegister)
r.GET(prefix+"/login" /* */, wc.serveTemplate("login", false))
r.GET(prefix+"/logout" /* */, wc.serveTemplate("logout", true))
r.POST(prefix+"/logout" /* */, wc.serveLogout)
r.GET(prefix+"/user" /* */, wc.serveTemplate("user_home", true))
r.GET(prefix+"/user/files" /* */, wc.serveTemplate("user_files", true))
r.GET(prefix+"/user/filemanager" /**/, wc.serveTemplate("file_manager", true))
r.GET(p+"/register" /* */, wc.serveRegister)
r.GET(p+"/login" /* */, wc.serveTemplate("login", false))
r.GET(p+"/logout" /* */, wc.serveTemplate("logout", true))
r.POST(p+"/logout" /* */, wc.serveLogout)
r.GET(p+"/user" /* */, wc.serveTemplate("user_home", true))
r.GET(p+"/user/files" /* */, wc.serveTemplate("user_files", true))
r.GET(p+"/user/filemanager" /**/, wc.serveTemplate("file_manager", true))
r.NotFound = http.HandlerFunc(wc.serveNotFound)
@@ -97,6 +99,7 @@ func (wc *WebController) serveFile(path string) httprouter.Handle {
func (wc *WebController) serveNotFound(w http.ResponseWriter, r *http.Request) {
log.Debug("Not Found: %s", r.URL)
w.WriteHeader(http.StatusNotFound)
wc.templates.Get().ExecuteTemplate(w, "404", wc.newTemplateData(w, r))
}