private async Task PerformTestConnectionAsync()
        {
            try
            {
                if (!txtBoxServer.Text.EndsWith("/"))
                {
                    txtBoxServer.Text += "/";
                }
                HttpUtils.InitClient(txtBoxServer.Text, txtBoxUser.Text, txtBoxPassword.Text);
                XrayStatus xrayStatus = await HttpUtils.GetPingAsync();

                if (xrayStatus == null)
                {
                    testConnectionField.Text = "Failed to perform ping.";
                    return;
                }
                XrayVersion xrayVersion = await HttpUtils.GetVersionAsync();

                if (!isCompatibleVersion(xrayVersion))
                {
                    testConnectionField.Text = XrayUtil.GetMinimumXrayVersionErrorMessage(xrayVersion.xray_version);
                    return;
                }

                // Check components permissions.
                String message = await HttpUtils.PostComponentToXrayAsync(new Components("", Util.PREFIX + "testComponent"));

                if (String.IsNullOrEmpty(message))
                {
                    testConnectionField.Text = "Received Xray version: " + xrayVersion.xray_version;
                }
                else
                {
                    testConnectionField.Text = message;
                }
            }
            catch (IOException ioe)
            {
                testConnectionField.Text = ioe.Message;
                await OutputLog.ShowMessageAsync("Caught exception when performing test connection: " + ioe);
            }
        }
Esempio n. 2
0
        private void performTestConnection(object sender, EventArgs e)
        {
            try
            {
                if (!txtBoxServer.Text.EndsWith("/"))
                {
                    txtBoxServer.Text += "/";
                }
                HttpUtils.InitClient(txtBoxServer.Text, txtBoxUser.Text, txtBoxPassword.Text);
                XrayStatus xrayStatus = HttpUtils.GetPing();
                if (xrayStatus == null)
                {
                    testConnectionField.Text = "Failed to perfom ping.";
                    return;
                }
                XrayVersion xrayVersion = HttpUtils.GetVersion();
                if (!isCompatibleVersion(xrayVersion))
                {
                    testConnectionField.Text = "ERROR: Unsupported Xray version: " + xrayVersion.xray_version + ", version "
                                               + XrayUtil.MIN_XRAY_VERSION + " or above required.";
                    return;
                }

                // Check components permissions.
                String message = HttpUtils.PostComponentToXray(new Components("", Util.PREFIX + "testComponent"));
                if (String.IsNullOrEmpty(message))
                {
                    testConnectionField.Text = "Received Xray version: " + xrayVersion.xray_version;
                }
                else
                {
                    testConnectionField.Text = message;
                }
            }
            catch (IOException ioe)
            {
                testConnectionField.Text = ioe.Message;
                OutputLog.ShowMessage("Caught exception when performing test connection: " + ioe);
            }
        }