api update
This commit is contained in:
@@ -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,
|
||||
|
@@ -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",
|
||||
|
@@ -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
|
||||
|
@@ -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))
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user