public RestfulServiceRequest(IRequestAuthentication authentication, HttpWebRequest httpWebRequest, SerializeDelegate serializeBody, DeserializationDelegate deserializeBody)
 {
     _auth            = authentication;
     _request         = httpWebRequest;
     _serializeBody   = serializeBody;
     _deserializeBody = deserializeBody;
 }
 private void Clear()
 {
     _auth            = null;
     _request         = null;
     _serializeBody   = null;
     _deserializeBody = null;
     _bodyBytes       = null;
 }
Esempio n. 3
0
        internal static void EmitDynamic(EmitContext ctx, out SerializationDelegate serialize, out DeserializationDelegate deserialize)
        {
            // serialization code
            {
                var serializationBase = new DynamicMethod("Serialize", typeof(void), SerializationParameters, true);

                serializationBase.DefineParameter(1, ParameterAttributes.None, "stream");
                serializationBase.DefineParameter(2, ParameterAttributes.None, "value");
                serializationBase.DefineParameter(3, ParameterAttributes.None, "ctx");

                ctx.SerializationBase = serializationBase;

                EmitSerializationCode(ctx, EmitDynamicSerializeStub);

                emit.il = serializationBase.GetILGenerator();
                EmitDynamicSerializationBase(ctx);

                serialize = (SerializationDelegate)serializationBase.CreateDelegate(typeof(SerializationDelegate));
            }

            // deserialization code
            {
                var deserializationBase = new DynamicMethod("Deserialize", typeof(object),
                                                            new Type[] { typeof(Stream), typeof(SerializationContext) }, true);

                deserializationBase.DefineParameter(1, ParameterAttributes.None, "stream");
                deserializationBase.DefineParameter(2, ParameterAttributes.None, "ctx");

                ctx.DeserializationBase = deserializationBase;

                EmitDeserializationCode(ctx, EmitDynamicDeserializeStub);

                emit.il = deserializationBase.GetILGenerator();
                EmitDeserializationBase(ctx);

                deserialize = (DeserializationDelegate)deserializationBase.CreateDelegate(typeof(DeserializationDelegate));
            }
        }
 public AsyncExecutionState(byte[] bodyBytes, HttpWebRequest request, Action <WebException> handleWebException, Action <Exception> handleException, Action <Exception> completedWithError, DeserializationDelegate deserializeBody, Action <TResponse> handleResponse)
 {
     this.bodyBytes          = bodyBytes;
     this.request            = request;
     this.handleWebException = handleWebException;
     this.handleException    = handleException;
     this.completedWithError = completedWithError;
     this.deserializeBody    = deserializeBody;
     this.handleResponse     = handleResponse;
 }
Esempio n. 5
0
 /// <summary>
 /// Creates a new instance of <see cref="DeserializationFunctionalityWrapper{TDeserializationSource, TValue}"/> with given callback which should perform the deserialization.
 /// </summary>
 /// <param name="functionality">The callback to perform deserialization.</param>
 /// <exception cref="ArgumentNullException">If <paramref name="functionality"/> is <c>null</c>.</exception>
 public DeserializationFunctionalityWrapper(DeserializationDelegate functionality)
 {
     this._delegate = ArgumentValidator.ValidateNotNull("Functionality delegate", functionality);
 }