Files
ippserver/server/handleprintjob.go

27 lines
697 B
Go

// Copyright 2021, Henrik Sölver henrik.solver@gmail.com
// SPDX-License-Identifier: BSD-3-Clause
package main
import (
"io"
"ippserver/packages/ipp"
"os"
)
func handlePrintJob(r *ipp.Request, byteStream io.Reader) *ipp.Response {
a := r.GetAttribute("job-name")
//a.(nameWithoutLanguage).Value
f, err := os.Create(a.(*ipp.NameWithoutLanguage).Value())
if err != nil {
panic("fail")
}
defer f.Close()
io.Copy(f, byteStream)
response := ipp.NewResponse(ipp.SuccessfulOk, r.RequestID())
response.AddOperatonAttribute(ipp.NewCharSetValue("attributes-charset", "utf-8"))
response.AddOperatonAttribute(ipp.NewNaturalLanguage("attributes-natural-language", "en"))
return response
}