HttpRequest.java 1.1 KB
Newer Older
1 2 3 4 5
package com.netflix.ribbonclientextensions.http;

import java.util.concurrent.Future;

import rx.Observable;
6 7
import rx.Observable.OnSubscribe;
import rx.Subscriber;
8

9
import com.netflix.hystrix.HystrixExecutableInfo;
10
import com.netflix.ribbonclientextensions.RibbonRequest;
11
import com.netflix.ribbonclientextensions.RequestWithMetaData;
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
import com.netflix.ribbonclientextensions.RibbonResponse;

class HttpRequest<I, O> implements RibbonRequest<O> {

    private RibbonHystrixObservableCommand<I, O> hystrixCommand;
    
    HttpRequest(RibbonHystrixObservableCommand<I, O> hystrixCommand) {
        this.hystrixCommand = hystrixCommand;
    }
    
    @Override
    public O execute() {
        return hystrixCommand.execute();
    }

    @Override
    public Future<O> queue() {
        return hystrixCommand.queue();
    }

    @Override
    public Observable<O> observe() {
        return hystrixCommand.observe();
    }

    @Override
    public Observable<O> toObservable() {
        return hystrixCommand.toObservable();
    }
41

42 43 44
    @Override
    public RequestWithMetaData<O> withMetadata() {
        return new HttpMetaRequest<I,O>(hystrixCommand);
45
    }
46
    
47 48

}