看不懂 ccng file_controller 里的这几行代码,sinatra 应用不都是get '/XXX' {xxx}
这种形式吗?
get "#{path_guid}/instances/:instance_id/files", :files def files(guid, search_param, path = nil) app = find_guid_and_validate_access(:read, guid) info = get_file_uri_for_search_param(app, path, search_param) headers = {} range = env["HTTP_RANGE"] if range headers["Range"] = range end uri = info.file_uri_v2 uri = add_tail(uri) if params.include?("tail") [HTTP::FOUND, {"Location" => uri}, nil] end get "#{path_guid}/instances/:instance_id/files/*", :files def http_get(uri, headers, username, password) client = HTTPClient.new client.set_auth(nil, username, password) if username && password client.get(uri, :header => headers) end