mirror of
https://github.com/mjl-/mox.git
synced 2025-07-13 09:34:39 +03:00
refactor common pattern of close & remove temporary file into calling the new store.CloseRemoveTempFile
This commit is contained in:
@ -3,10 +3,8 @@ package smtpserver
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/mjl-/mox/dsn"
|
||||
"github.com/mjl-/mox/mlog"
|
||||
"github.com/mjl-/mox/queue"
|
||||
"github.com/mjl-/mox/smtp"
|
||||
"github.com/mjl-/mox/store"
|
||||
@ -30,13 +28,8 @@ func queueDSN(ctx context.Context, c *conn, rcptTo smtp.Path, m dsn.Message, req
|
||||
if err != nil {
|
||||
return fmt.Errorf("creating temp file: %w", err)
|
||||
}
|
||||
defer func() {
|
||||
name := f.Name()
|
||||
err = f.Close()
|
||||
c.log.Check(err, "closing temporary dsn message file")
|
||||
err := os.Remove(name)
|
||||
c.log.Check(err, "removing temporary dsn message file", mlog.Field("path", name))
|
||||
}()
|
||||
defer store.CloseRemoveTempFile(c.log, f, "smtpserver dsn message")
|
||||
|
||||
if _, err := f.Write([]byte(buf)); err != nil {
|
||||
return fmt.Errorf("writing dsn file: %w", err)
|
||||
}
|
||||
|
@ -1532,13 +1532,7 @@ func (c *conn) cmdData(p *parser) {
|
||||
if err != nil {
|
||||
xsmtpServerErrorf(errCodes(smtp.C451LocalErr, smtp.SeSys3Other0, err), "creating temporary file for message: %s", err)
|
||||
}
|
||||
defer func() {
|
||||
name := dataFile.Name()
|
||||
err := dataFile.Close()
|
||||
c.log.Check(err, "removing temporary message file")
|
||||
err = os.Remove(name)
|
||||
c.log.Check(err, "removing temporary message file", mlog.Field("path", name))
|
||||
}()
|
||||
defer store.CloseRemoveTempFile(c.log, dataFile, "smtpserver delivered message")
|
||||
msgWriter := message.NewWriter(dataFile)
|
||||
dr := smtp.NewDataReader(c.r)
|
||||
n, err := io.Copy(&limitWriter{maxSize: c.maxMessageSize, w: msgWriter}, dr)
|
||||
|
Reference in New Issue
Block a user