internal static object InternalHeaderPromotionModeGetter(IPropertyBag bag) { TransportSettingFlags transportSettingFlags = (TransportSettingFlags)bag[ADAMTransportConfigContainerSchema.Flags]; HeaderPromotionMode headerPromotionMode = (HeaderPromotionMode)((transportSettingFlags & TransportSettingFlags.HeaderPromotionModeSetting) >> 21); return(EnumValidator.IsValidValue <HeaderPromotionMode>(headerPromotionMode) ? headerPromotionMode : HeaderPromotionMode.NoCreate); }
internal PropertyBagSaveFlags GetSaveFlags(bool isTopLevelMessage) { PropertyBagSaveFlags propertyBagSaveFlags = PropertyBagSaveFlags.Default; HeaderPromotionMode headerPromotionMode = isTopLevelMessage ? this.HeaderPromotion : HeaderPromotionMode.NoCreate; if (headerPromotionMode == HeaderPromotionMode.MayCreate) { propertyBagSaveFlags |= PropertyBagSaveFlags.IgnoreUnresolvedHeaders; } else if (headerPromotionMode == HeaderPromotionMode.NoCreate) { propertyBagSaveFlags |= (PropertyBagSaveFlags.IgnoreUnresolvedHeaders | PropertyBagSaveFlags.DisableNewXHeaderMapping); } return(propertyBagSaveFlags); }