getFromBrowseableDirectory
Signature
def getFromBrowseableDirectory(directory: String)( implicit renderer: DirectoryRenderer, resolver: ContentTypeResolver): Route
Description
The getFromBrowseableDirectories
is a combination of serving files from the specified directories (like getFromDirectory
) and listing a browseable directory with listDirectoryContents
.
Nesting this directive beneath get
is not necessary as this directive will only respond to GET
requests.
Use getFromBrowseableDirectory
to serve only one directory.
Use getFromDirectory
if directory browsing isn’t required.
Example
- Scala
-
source
val route = path("tmp") { getFromBrowseableDirectory("/tmp") } // tests: Get("/tmp") ~> route ~> check { status shouldEqual StatusCodes.OK }
- Java
-
source
import static org.apache.pekko.http.javadsl.server.Directives.getFromBrowseableDirectory; import static org.apache.pekko.http.javadsl.server.Directives.path; final Route route = path("tmp", () -> getFromBrowseableDirectory("/tmp")); // tests: testRoute(route).run(HttpRequest.GET("/tmp")).assertStatusCode(StatusCodes.OK);
Default file listing page example
Directives which list directories (e.g. getFromBrowsableDirectory
) use an implicit DirectoryRenderer
instance to perform the actual rendering of the file listing. This rendered can be easily overridden by simply providing one in-scope for the directives to use, so you can build your custom directory listings.
The default renderer is org.apache.pekko.http.scaladsl.server.directives.FileAndResourceDirectives.defaultDirectoryRenderer
, and renders a listing which looks like this:
Example page rendered by the
defaultDirectoryRenderer
.
It’s possible to turn off rendering the footer stating which version of Apache Pekko HTTP is rendering this page by configuring the pekko.http.routing.render-vanity-footer
configuration option to off
.