Jo Shields 3c1f479b9d Imported Upstream version 4.0.0~alpha1
Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
2015-04-07 09:35:12 +01:00

33 lines
1.2 KiB
C#

//------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------
namespace System.ServiceModel.Configuration
{
using System;
using System.Configuration;
using System.ServiceModel.Channels;
using System.Text;
class WebEncodingValidator : ConfigurationValidatorBase
{
public override bool CanValidate(Type type)
{
return type == typeof(Encoding);
}
public override void Validate(object value)
{
Encoding encoding = value as Encoding;
if ((encoding == null) ||
// utf-8 case. EncodingConverter generates TextEncoderDefaults.Encoding for utf-8, different from System.Text.Encoding.UTF8
((encoding.WebName != Encoding.UTF8.WebName) &&
(encoding.WebName != Encoding.Unicode.WebName) &&
(encoding.WebName != Encoding.BigEndianUnicode.WebName)))
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("value", SR2.GetString(SR2.JsonEncodingNotSupported));
}
}
}
}