private DynamicJsonResource(HttpRemoteResponse webResponse, IRemoteResourceService service, JContainer root)
        {
            WebResponse = webResponse;
            _service    = service;
            _root       = root;

            IndexRoot();
        }
        public HttpRemoteResponse Process(IRemoteResourceService service, string verb, Uri uri, string content)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
            try
            {
                foreach (var header in service.Headers)
                    request.Headers[header.Key] = header.Value;

                request.Method = verb;
                if (!String.IsNullOrWhiteSpace(content))
                    WriteContent(service.IsAsynch, request, content);
                return GetRemoteResponse(GetResponse(service.IsAsynch, request));
            }
            catch (Exception ex)
            {
                throw new ArgumentException(string.Format("An error occurred while connecting to the resource in url {0} with message {1}", uri, ex.Message), ex);
            }
        }
예제 #3
0
 private Restfulie(IRemoteResourceService service)
 {
     EntryPointService = service;
 }
 public DynamicJsonResource(HttpRemoteResponse webResponse, IRemoteResourceService service)
     : this(webResponse) {
     _service = service;
 }
예제 #5
0
 public ResponseChain(IRemoteResourceService service, IEnumerable<IResponseFeature> features)
 {
     _service = service;
     _current = features.GetEnumerator();
 }
예제 #6
0
 public DynamicXmlResource(HttpRemoteResponse response, IRemoteResourceService remoteService)
     : this(response)
 {
     RemoteResourceService = remoteService;
 }
 public DynamicXmlResource(HttpRemoteResponse response, IRemoteResourceService remoteService)
     : this(response)
 {
     this.RemoteResourceService = remoteService;
 }
예제 #8
0
 public Request(IRemoteResourceService service, IRequestDispatcher dispatcher)
 {
     _dispatcher = dispatcher;
     _stack = new RequestStack(service);
 }
 public HttpRemoteResponse Process(IRemoteResourceService service, string verb, Uri uri, string content)
 {
     return(CreateRemoteResponse(GetContentFromFile(uri), verb));
 }
예제 #10
0
        private static HttpRemoteResponse GetDynamicResourceWithServiceFake(string rawUri, string contentType, out IRemoteResourceService service)
        {
            var serviceMock = CreateService(rawUri, contentType);
            var uri = rawUri.StartsWith("http://") ? new Uri(rawUri) : new Uri(String.Format("file://{0}", rawUri));
            var dispatcher = new EmbeddedFileRequestDispatcher(contentType);
            var response = dispatcher.Process(serviceMock.Object, "GET", uri, null);

            response.Headers.Add("X-Runtime", "29");
            response.Headers.Add("Connection", "keep-alive");
            response.Headers.Add("Cache-Control", "private, max-age=0, must-revalidate");
            response.Headers.Add("Date", "Mon, 11 Jan 2010 22:39:24 GMT");
            response.Headers.Add("ETag", "40edb82345bbb4d257708270c4cd8f76");
            response.Headers.Add("Last-Modified", "Tue, 05 Jan 2010 02:44:25 GMT");
            response.Headers.Add("Server", "nginx/0.6.39");
            response.Headers.Add("Via", "1.1 varnish");

            service = serviceMock.Object;

            return response;
        }
예제 #11
0
 public ResponseChain(IRemoteResourceService service, IEnumerable <IResponseFeature> features)
 {
     _service = service;
     _current = features.GetEnumerator();
 }
예제 #12
0
        private static HttpRemoteResponse GetDynamicResourceWithServiceFake(string rawUri, string contentType, out IRemoteResourceService service)
        {
            var serviceMock = CreateService(rawUri, contentType);
            var uri         = rawUri.StartsWith("http://") ? new Uri(rawUri) : new Uri(String.Format("file://{0}", rawUri));
            var dispatcher  = new EmbeddedFileRequestDispatcher(contentType);
            var response    = dispatcher.Process(serviceMock.Object, "GET", uri, null);

            response.Headers.Add("X-Runtime", "29");
            response.Headers.Add("Connection", "keep-alive");
            response.Headers.Add("Cache-Control", "private, max-age=0, must-revalidate");
            response.Headers.Add("Date", "Mon, 11 Jan 2010 22:39:24 GMT");
            response.Headers.Add("ETag", "40edb82345bbb4d257708270c4cd8f76");
            response.Headers.Add("Last-Modified", "Tue, 05 Jan 2010 02:44:25 GMT");
            response.Headers.Add("Server", "nginx/0.6.39");
            response.Headers.Add("Via", "1.1 varnish");

            service = serviceMock.Object;

            return(response);
        }
예제 #13
0
 public static IRemoteResourceService At(IRemoteResourceService service)
 {
     return new Restfulie(service).EntryPointService;
 }
예제 #14
0
 private Restfulie(IRemoteResourceService service)
 {
     EntryPointService = service;
 }
예제 #15
0
 private Restfulie(string uri, IRequestDispatcher dispatcher)
 {
     EntryPointService = new EntryPointService(uri, dispatcher);
 }
 public HttpRemoteResponse Process(IRemoteResourceService service, string verb, Uri uri, string content)
 {
     return CreateRemoteResponse(GetContentFromFile(uri), verb);
 }
예제 #17
0
 public static IRemoteResourceService At(IRemoteResourceService service)
 {
     return(new Restfulie(service).EntryPointService);
 }
예제 #18
0
 public Request(IRemoteResourceService service, IRequestDispatcher dispatcher)
 {
     _dispatcher = dispatcher;
     _stack      = new RequestStack(service);
 }
예제 #19
0
 public RequestStack(IRemoteResourceService service)
 {
     _service = service;
 }
예제 #20
0
 public RequestStack(IRemoteResourceService service)
 {
     _service = service;
 }