mirror of
https://github.com/cyberarm/w3d_hub_linux_launcher.git
synced 2025-12-16 01:02:34 +00:00
Put a bandaid on Api.package_details by using Async::HTTP::Client instead of directly using Async::HTTP::Internet- TODO: use :Client instead of ::Internet, enabled verify_files task in installer
This commit is contained in:
@@ -128,13 +128,14 @@ class W3DHub
|
||||
# client requests package details: data={"packages":[{"category":"games","name":"apb.ico","subcategory":"apb","version":""}]}
|
||||
def self.package_details(internet, packages)
|
||||
body = URI.encode_www_form("data": JSON.dump({ packages: packages }))
|
||||
response = internet.post("#{ENDPOINT}/apis/launcher/1/get-package-details", FORM_ENCODED_HEADERS, body)
|
||||
endpoint = Async::HTTP::Endpoint.parse("#{ENDPOINT}/apis/launcher/1/get-package-details", protocol: Async::HTTP::Protocol::HTTP10)
|
||||
client = Async::HTTP::Client.new(endpoint)
|
||||
response = client.post("#{ENDPOINT}/apis/launcher/1/get-package-details", FORM_ENCODED_HEADERS, body)
|
||||
|
||||
if response.success?
|
||||
hash = JSON.parse(response.read, symbolize_names: true)
|
||||
hash[:packages].map { |pkg| Package.new(pkg) }
|
||||
else
|
||||
pp response, body
|
||||
false
|
||||
end
|
||||
end
|
||||
|
||||
@@ -507,7 +507,14 @@ class W3DHub
|
||||
# Check for and integrity of local manifest
|
||||
internet = Async::HTTP::Internet.instance
|
||||
|
||||
package = Api.package_details(internet, [{ category: category, subcategory: subcategory, name: name, version: version }]).first
|
||||
package = nil
|
||||
array = Api.package_details(internet, [{ category: category, subcategory: subcategory, name: name, version: version }])
|
||||
if array.is_a?(Array)
|
||||
package = array.first
|
||||
else
|
||||
fail!("Failed to fetch manifest package details!")
|
||||
return
|
||||
end
|
||||
|
||||
if File.exist?(Cache.package_path(category, subcategory, name, version))
|
||||
verified = verify_package(package)
|
||||
|
||||
@@ -15,8 +15,8 @@ class W3DHub
|
||||
packages = build_package_list(manifests)
|
||||
return false if failed?
|
||||
|
||||
# verify_files(manifests, packages)
|
||||
# return false if failed?
|
||||
verify_files(manifests, packages)
|
||||
return false if failed?
|
||||
|
||||
fetch_packages(packages)
|
||||
return false if failed?
|
||||
|
||||
Reference in New Issue
Block a user