# File lib/open-uri/cached.rb, line 80
      def        setsetsetsetsetsetsetset(key, value)
        filename = filename_from_url(key)
        mkpath(filename)

        # Save metadata in a parallel file
        if value.respond_to?(:meta)
          filename_meta = "#{filename}.meta"
          meta = value.meta
          meta[:status] = value.status if value.respond_to?(:status)
          meta[:content_type] = value.content_type if value.respond_to?(:content_type)
          meta[:base_uri] = value.base_uri if value.respond_to?(:base_uri)
          File.open(filename_meta, 'wb') {|f| YAML::dump(meta, f)}
        end

        # Save file contents
        File.open(filename, 'wb'){|f| f.write value.read }
        value.rewind
        value
      end