private MethodCall DeserializeRequest( ITransportHeaders requestHeaders, Stream requestStream) { var requestUri = (string)requestHeaders["__RequestUri"]; var svcType = GetServiceType(requestUri); var deserializer = new XmlRpcRequestDeserializer(); var xmlRpcReq = deserializer.DeserializeRequest(requestStream, svcType); var headers = GetChannelHeaders(requestHeaders, xmlRpcReq, svcType); var mthdCall = new MethodCall(headers); mthdCall.ResolveMethod(); return(mthdCall); }
// private methods // MethodCall DeserializeRequest( ITransportHeaders requestHeaders, Stream requestStream) { string requestUri = (string)requestHeaders["__RequestUri"]; Type svcType = GetServiceType(requestUri); XmlRpcSerializer serializer = new XmlRpcSerializer(); XmlRpcRequest xmlRpcReq = serializer.DeserializeRequest(requestStream, svcType); Header[] headers = GetChannelHeaders(requestHeaders, xmlRpcReq, svcType); MethodCall mthdCall = new MethodCall(headers); mthdCall.ResolveMethod(); return(mthdCall); }
// private methods // MethodCall DeserializeRequest( ITransportHeaders requestHeaders, Stream requestStream) { string requestUri = (string)requestHeaders["__RequestUri"]; string typeName = GetTypeName(requestUri); Type svcType = Type.GetType(typeName); XmlRpcSerializer serializer = new XmlRpcSerializer(); XmlRpcRequest xmlRpcReq = serializer.DeserializeRequest(requestStream, svcType); // TODO: optimise out two calls to GetRegisteredWellKnownServiceTypes Header[] headers = GetChannelHeaders(requestHeaders, xmlRpcReq); MethodCall mthdCall = new MethodCall(headers); mthdCall.ResolveMethod(); return(mthdCall); }
private MethodCall DeserializeRequest(ITransportHeaders requestHeaders, Stream requestStream, IXmlRpcStreamRequestConfig config) { String requestUri = GetRequestUri(requestHeaders); Type svcType = GetServerTypeForUri(requestUri); if (!_mapping.Has(svcType)) { _mapping.Register(svcType); } IXmlRpcRequest request = GetRequest(config, requestStream); IXmlRpcHandler handler = GetHandler(request); Header[] headers = GetChannelHeaders(requestUri, request, handler, svcType); MethodCall call = new MethodCall(headers); call.ResolveMethod(); return(call); }