Add support for "expiry" form setting
git-svn-id: file:///srv/svn/repo/marisa/trunk@61 d6811dac-2434-b64a-9ddc-f563ab233461
This commit is contained in:
parent
c6734fcaff
commit
db611f5614
32
partage.go
32
partage.go
@ -92,6 +92,10 @@ func writemeta(filename string, expiry int64) error {
|
||||
size := stat.Size()
|
||||
f.Close()
|
||||
|
||||
if expiry < 0 {
|
||||
expiry = conf.expiry
|
||||
}
|
||||
|
||||
meta := metadata{
|
||||
Filename: filepath.Base(filename),
|
||||
Size: size,
|
||||
@ -196,7 +200,11 @@ func uploaderPost(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
writemeta(tmp.Name(), conf.expiry)
|
||||
expiry, err := strconv.Atoi(r.PostFormValue("expiry"))
|
||||
if err != nil || expiry < 0 {
|
||||
expiry = int(conf.expiry)
|
||||
}
|
||||
writemeta(tmp.Name(), int64(expiry))
|
||||
|
||||
link := conf.baseuri + conf.filectx + filepath.Base(tmp.Name())
|
||||
links = append(links, link)
|
||||
@ -327,33 +335,25 @@ func main() {
|
||||
}
|
||||
|
||||
if conf.listen[0] == '/' {
|
||||
/* Remove any stale socket */
|
||||
os.Remove(conf.listen)
|
||||
if listener, err = net.Listen("unix", conf.listen); err != nil {
|
||||
listener, err = net.Listen("unix", conf.listen)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
defer listener.Close()
|
||||
|
||||
/*
|
||||
* Ensure unix socket is removed on exit.
|
||||
* Note: this might not work when dropping privileges…
|
||||
*/
|
||||
/* Ensure unix socket is removed on exit */
|
||||
defer os.Remove(conf.listen)
|
||||
sigs := make(chan os.Signal, 1)
|
||||
signal.Notify(sigs, os.Interrupt, os.Kill, syscall.SIGTERM)
|
||||
signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)
|
||||
go func() {
|
||||
_ = <-sigs
|
||||
listener.Close()
|
||||
if err = os.Remove(conf.listen); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
os.Remove(conf.listen)
|
||||
os.Exit(0)
|
||||
}()
|
||||
} else {
|
||||
if listener, err = net.Listen("tcp", conf.listen); err != nil {
|
||||
listener, err = net.Listen("tcp", conf.listen)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
defer listener.Close()
|
||||
}
|
||||
|
||||
if conf.user != "" {
|
||||
|
Loading…
x
Reference in New Issue
Block a user