Add method to expose a source’s metadata.
[sonitus.git] / src / main / java / net / pterodactylus / sonitus / data / filter / RateLimitingFilter.java
index c40f90f..a573295 100644 (file)
@@ -30,6 +30,7 @@ import net.pterodactylus.sonitus.data.ConnectException;
 import net.pterodactylus.sonitus.data.Connection;
 import net.pterodactylus.sonitus.data.Filter;
 import net.pterodactylus.sonitus.data.Format;
+import net.pterodactylus.sonitus.data.Metadata;
 import net.pterodactylus.sonitus.data.Source;
 
 import com.google.common.base.Preconditions;
@@ -49,7 +50,7 @@ public class RateLimitingFilter implements Filter {
        private final int rate;
 
        /** The source’s format. */
-       private Format format;
+       private Source source;
 
        /** The input stream to read from. */
        private PipedInputStream pipedInputStream = new PipedInputStream();
@@ -70,7 +71,12 @@ public class RateLimitingFilter implements Filter {
 
        @Override
        public Format format() {
-               return format;
+               return source.format();
+       }
+
+       @Override
+       public Metadata metadata() {
+               return source.metadata();
        }
 
        @Override
@@ -87,7 +93,7 @@ public class RateLimitingFilter implements Filter {
        public void connect(Source source) throws ConnectException {
                Preconditions.checkNotNull(source, "source must not be null");
 
-               format = source.format();
+               this.source = source;
                final long start = System.currentTimeMillis();
                try {
                        pipedInputStream = new PipedInputStream();