All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.davidmoten.odata.client.RequestOptions Maven / Gradle / Ivy

The newest version!
package com.github.davidmoten.odata.client;

import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Optional;

public interface RequestOptions  extends HttpRequestOptions {

    List getRequestHeaders();

    Map getQueries();
    
    Optional getUrlOverride();
    
    RequestOptions EMPTY = new RequestOptions() {

        @Override
        public List getRequestHeaders() {
            return Collections.emptyList();
        }

        @Override
        public Map getQueries() {
            return Collections.emptyMap();
        }

        @Override
        public Optional getUrlOverride() {
            return Optional.empty();
        }

		@Override
		public Optional requestConnectTimeoutMs() {
			return Optional.empty();
		}

		@Override
		public Optional requestReadTimeoutMs() {
			return Optional.empty();
		}

    };
    
    static RequestOptions create(Map queries, List requestHeaders, Optional connectTimeoutMs, Optional readTimeoutMs) {
        return new RequestOptions() {

            @Override
            public List getRequestHeaders() {
                return requestHeaders;
            }

            @Override
            public Map getQueries() {
                return queries;
            }

            @Override
            public Optional getUrlOverride() {
                return Optional.empty();
            }

			@Override
			public Optional requestConnectTimeoutMs() {
				return connectTimeoutMs;
			}

			@Override
			public Optional requestReadTimeoutMs() {
				return readTimeoutMs;
			}
            
        };
    }
    
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy