- // TODO: replace io.Discard with a real file when ready to implement storing of resource fork data
- if err := receiveFile(conn, file, io.Discard); err != nil {
+ rForkWriter := io.Discard
+ iForkWriter := io.Discard
+ if s.Config.PreserveResourceForks {
+ rForkWriter, err = f.rsrcForkWriter()
+ if err != nil {
+ return err
+ }
+
+ iForkWriter, err = f.infoForkWriter()
+ if err != nil {
+ return err
+ }
+ }
+
+ if err := receiveFile(rwc, file, rForkWriter, iForkWriter); err != nil {
+ return err
+ }
+
+ if err := file.Close(); err != nil {