SLING-7747: send http response error code when package cannot be opened
diff --git a/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java b/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java
index 66fd0b3..3248e88 100644
--- a/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java
+++ b/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java
@@ -164,6 +164,10 @@
 
     @Override
     protected DistributionPackage getPackageInternal(@Nonnull ResourceResolver resourceResolver, @Nonnull String id) {
-        return new FileDistributionPackage(new File(tempDirectory, id), getType(), null, null);
+        File file = new File(tempDirectory, id);
+        if (!file.exists()) {
+            return null;
+        }
+        return new FileDistributionPackage(file, getType(), null, null);
     }
 }
diff --git a/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporter.java b/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporter.java
index 6662b13..272227e 100644
--- a/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporter.java
+++ b/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporter.java
@@ -113,8 +113,6 @@
                 }
             }
 
-        } catch (Exception ex) {
-            log.error("Error exporting package", ex);
         } finally {
             DistributionPackageUtils.closeSafely(distributionPackage);
         }
diff --git a/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageExporterServlet.java b/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageExporterServlet.java
index c7ba4de..9c98878 100644
--- a/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageExporterServlet.java
+++ b/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageExporterServlet.java
@@ -107,7 +107,7 @@
 
                         bytesCopied = IOUtils.copy(inputStream, response.getOutputStream());
                     } catch (IOException e) {
-                        log.error("cannot process package", e);
+                        throw new RuntimeException("cannot process package", e);
                     } finally {
                         IOUtils.closeQuietly(inputStream);
                     }