Also, I think `ResponseType` can only be one of two types: `File` or `Directory`. Maybe we should make it an enum.