diff ServerMonitor/Controls/HttpCheckControl.cs @ 18:b713b9db4c82

HTTP checks.
author Brad Greco <brad@bgreco.net>
date Mon, 27 May 2019 15:40:44 -0400
parents 7127d5b5ac75
children
line wrap: on
line diff
--- a/ServerMonitor/Controls/HttpCheckControl.cs	Sat May 25 15:14:26 2019 -0400
+++ b/ServerMonitor/Controls/HttpCheckControl.cs	Mon May 27 15:40:44 2019 -0400
@@ -1,4 +1,6 @@
-namespace ServerMonitorApp
+using System;
+
+namespace ServerMonitorApp
 {
     /// <summary>Control for editing an HTTP check.</summary>
     [CheckType(typeof(HttpCheck))]
@@ -9,11 +11,18 @@
             InitializeComponent();
         }
 
+        private void HttpCheckControl_Load(object sender, System.EventArgs e)
+        {
+            // Initialize the combo boxes to non-empty values.
+            MethodComboBox.SelectedIndex = 0;
+        }
+
         /// <summary>Sets the values of the controls from a check's properties.</summary>
         public override void LoadCheck(Check check1)
         {
             HttpCheck check = (HttpCheck)check1;
             UrlTextBox.Text = check.Url;
+            MethodComboBox.SelectedItem = check.Method ?? "GET";
             ResponseCodeCheckBox.Checked = check.CheckResponseCode;
             ResponseCodeTextBox.Text = check.ResponseCode.ToString();
             ResponseLengthCheckbox.Checked = check.CheckResponseLength;
@@ -30,6 +39,7 @@
         {
             HttpCheck check = (HttpCheck)check1;
             check.Url = UrlTextBox.Text.Trim();
+            check.Method = MethodComboBox.SelectedItem.ToString();
             check.CheckResponseCode = ResponseCodeCheckBox.Checked;
             try
             {
@@ -47,5 +57,18 @@
             check.ResponseBodyPattern = ResponseBodyTextBox.Text;
             check.ResponseBodyUseRegex = ResponseBodyRegexCheckBox.Checked;
         }
+
+        private void MethodComboBox_SelectedIndexChanged(object sender, EventArgs e)
+        {
+            if (MethodComboBox.SelectedIndex == 1)
+            {
+                ResponseBodyCheckBox.Checked = false;
+                ResponseBodyCheckBox.Enabled = false;
+            }
+            else
+            {
+                ResponseBodyCheckBox.Enabled = true;
+            }
+        }
     }
 }