/// <summary>
 /// Modifies the request dispatch formatter to read query paramters from the message body.
 /// </summary>
 /// <param name="operationDescription">The specified operation description.</param>
 /// <param name="endpoint">The specified endpoint.</param>
 /// <returns>The request dispatch formatter for the specified operation description and endpoint.</returns>
 protected override IDispatchMessageFormatter GetRequestDispatchFormatter(OperationDescription operationDescription, ServiceEndpoint endpoint)
 {
     IDispatchMessageFormatter formatter = base.GetRequestDispatchFormatter(operationDescription, endpoint);
     IQueryOperationSettings querySettings = operationDescription.Behaviors.Find<IQueryOperationSettings>();
     if (querySettings != null)
     {
         formatter = new WebHttpQueryDispatchMessageFormatter(formatter, querySettings.HasSideEffects);
     }
     return formatter;
 }
        /// <summary>
        /// Modifies the request dispatch formatter to read query paramters from the message body.
        /// </summary>
        /// <param name="operationDescription">The specified operation description.</param>
        /// <param name="endpoint">The specified endpoint.</param>
        /// <returns>The request dispatch formatter for the specified operation description and endpoint.</returns>
        protected override IDispatchMessageFormatter GetRequestDispatchFormatter(OperationDescription operationDescription, ServiceEndpoint endpoint)
        {
            IDispatchMessageFormatter formatter     = base.GetRequestDispatchFormatter(operationDescription, endpoint);
            IQueryOperationSettings   querySettings = operationDescription.Behaviors.Find <IQueryOperationSettings>();

            if (querySettings != null)
            {
                formatter = new WebHttpQueryDispatchMessageFormatter(formatter, querySettings.HasSideEffects);
            }
            return(formatter);
        }