func processIncoming(conn *printserver.ServerConn, msg *stomp.Message) error { var job tickets.Ticket if err := proto.Unmarshal(msg.Body, &job); err != nil { log.Printf("Received malformed job: %s", err) return err } jobId := "t-" + strconv.FormatUint(uint64(job.GetSubmitId()), 10) job.Team.Name = proto.String(strings.Replace(job.Team.GetName(), "#", "\\#", -1)) var buf bytes.Buffer if err := documentTemplate.Execute(&buf, &templateData{ Ticket: &job, }); err != nil { log.Println(err) return err } cBlob, err := tickets.NewBlob(buf.Bytes()) if err != nil { return err } result := tickets.BinaryJob{ JobId: &jobId, Printer: job.Printer, Data: cBlob, } return conn.Send(&result) }