Header exists:
if (Request.Headers["XYZComponent"] != null)
or even better:
string xyzHeader = Request.Headers["XYZComponent"];
bool isXYZ;
if (bool.TryParse(xyzHeader, out isXYZ) && isXYZ)
which will check whether it is set to true. This should be fool-proof because it does not care on leading/trailing whitespace and is case-insensitive (bool.TryParse
does work on null
)
Addon: You could make this more simple with this extension method which returns a nullable boolean. It should work on both invalid input and null.
public static bool? ToBoolean(this string s)
{
bool result;
if (bool.TryParse(s, out result))
return result;
else
return null;
}
Usage (because this is an extension method and not instance method this will not throw an exception on null
- it may be confusing, though):
if (Request.Headers["XYZComponent"].ToBoolean() == true)