# File lib/cgikit/resource.rb, line 447
    def caching_url( file, package, data, key, mime, request )
      rm = @application.resource_manager
      url = nil
      if file then
        url = rm.url(file, package, request.languages, request)
        unless url then
          data = rm.bytedata(file)
        end
      end

      if data and url.nil? then
        if String === data then
          data = ByteData.new(data)
        end
        mime = data.content_type || mime
        rm.set_data(data, key, mime)
        key ||= rm.key(data)
        url = rm.url(key, package, request.languages, request)
      end
      url
    end