class SassC::ImportHandler::Importer

def canonicalize(url, context)

def canonicalize(url, context)
  if url.start_with?(Protocol::IMPORT)
    canonical_url = @canonical_urls.delete(url.delete_prefix(Protocol::IMPORT))
    unless @importer_results.key?(canonical_url)
      canonical_url = resolve_file_url(canonical_url, @parent_urls.last, context.from_import)
    end
    @parent_urls.push(canonical_url)
    canonical_url
  elsif url.start_with?(Protocol::FILE)
    path = URL.unescape(URL.parse(url).route_from(@parent_urls.last).to_s)
    parent_path = URL.file_url_to_path(@parent_urls.last)
    imports = @importer.imports(path, parent_path)
    imports = [SassC::Importer::Import.new(path)] if imports.nil?
    imports = [imports] unless imports.is_a?(Array)
    imports.each do |import|
      import.path = File.absolute_path(import.path, File.dirname(parent_path))
    end
    canonical_url = "#{Protocol::IMPORT}#{next_id}"
    @importer_results[canonical_url] = imports_to_native(imports, context.from_import)
    canonical_url
  elsif url.start_with?(Protocol::LOADED)
    canonical_url = Protocol::LOADED
    @parent_urls.pop
    canonical_url
  end
end