Update
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
package routes
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"fmt"
|
||||
"github.com/tus/tusd/pkg/filestore"
|
||||
tusd "github.com/tus/tusd/pkg/handler"
|
||||
)
|
||||
|
||||
func RegisterRoutes() {
|
||||
// Regular Handlers
|
||||
http.HandleFunc("/hello", helloHandler)
|
||||
|
||||
// Uploads Handler
|
||||
http.Handle("/uploads/", uploadsHandler())
|
||||
}
|
||||
|
||||
func uploadsHandler() http.Handler {
|
||||
store := filestore.FileStore{
|
||||
Path: "./uploads",
|
||||
}
|
||||
composer := tusd.NewStoreComposer()
|
||||
store.UseIn(composer)
|
||||
|
||||
handler, err := tusd.NewHandler(tusd.Config{
|
||||
BasePath: "/uploads/",
|
||||
StoreComposer: composer,
|
||||
NotifyCompleteUploads: true,
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
panic(fmt.Errorf("Unable to create handler: %s", err))
|
||||
}
|
||||
|
||||
go func() {
|
||||
for {
|
||||
event := <-handler.CompleteUploads
|
||||
fmt.Printf("Upload %s finished\n", event.Upload.ID)
|
||||
}
|
||||
}()
|
||||
|
||||
return http.StripPrefix("/uploads/", handler)
|
||||
}
|
||||
|
||||
func helloHandler(w http.ResponseWriter, r *http.Request) {
|
||||
if r.URL.Path != "/hello" {
|
||||
http.Error(w, "404 not found.", http.StatusNotFound)
|
||||
return
|
||||
}
|
||||
|
||||
if r.Method != "GET" {
|
||||
http.Error(w, "Method is not supported.", http.StatusNotFound)
|
||||
return
|
||||
}
|
||||
|
||||
fmt.Fprintf(w, "Hello!")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user