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; }
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; }
/// <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); }