Interface ResourceFactory


public interface ResourceFactory
Implementations of ResourceFactory translate URLs to instances of Resource
  • Method Summary

    Modifier and Type
    Method
    Description
    getResource(String host, String path)
    Locate an instance of a resource at the given url and on the given host.
  • Method Details

    • getResource

      Resource getResource(String host, String path) throws io.milton.http.exceptions.NotAuthorizedException, io.milton.http.exceptions.BadRequestException
      Locate an instance of a resource at the given url and on the given host.

      The host argument can be used for applications which implement virtual domain hosting. But portable applications (ie those which do not depend on the host name) should ignore the host argument.

      Note that the host will include the port number if it was specified in the request

      The path argument is just the part of the request url with protocol, host, port number, and request parameters removed

      E.g. for a request

      http://milton.ettrema.com:80/downloads/index.html?ABC=123
      the corresponding arguments will be:
         host: milton.ettrema.com:80
         path: /downloads/index.html
       
      Note that your implementation should not be sensitive to trailing slashes E.g. these paths should return the same resource /apath and /apath/

      Return null if there is no associated object.

      You should generally avoid using any request information other then that provided in the method arguments. But if you find you need to you can access the request and response objects from HttpManager.request() and HttpManager.response()

      Parameters:
      host - Full host name with port number, e.g. milton.ettrema.com:80
      path - Relative path on server, e.g. /downloads/index.html
      Returns:
      the associated Resource object, or null if there is none.
      Throws:
      io.milton.http.exceptions.NotAuthorizedException
      io.milton.http.exceptions.BadRequestException