go-ipp/utils.go

29 lines
580 B
Go
Raw Normal View History

2019-03-15 15:20:02 +00:00
package ipp
import (
"fmt"
"os"
"path"
)
2020-03-27 23:30:48 +00:00
// ParseControlFile reads and decodes a cups control file into a response
2019-03-15 15:20:02 +00:00
func ParseControlFile(jobID int, spoolDirectory string) (*Response, error) {
if spoolDirectory == "" {
spoolDirectory = "/var/spool/cups"
}
controlFilePath := path.Join(spoolDirectory, fmt.Sprintf("c%d", jobID))
if _, err := os.Stat(controlFilePath); err != nil {
return nil, err
}
controlFile, err := os.Open(controlFilePath)
if err != nil {
return nil, err
}
defer controlFile.Close()
return NewResponseDecoder(controlFile).Decode(nil)
2019-03-15 15:20:02 +00:00
}