Class HttpConfig


  • public class HttpConfig
    extends java.lang.Object
    A representation of the "http.*" config values in a git Config. git provides for setting values for specific URLs through "http.<url>.*" subsections. git always considers only the initial original URL for such settings, not any redirected URL.
    Since:
    4.9
    • Field Detail

      • LOG

        private static final org.slf4j.Logger LOG
      • HTTP

        public static final java.lang.String HTTP
        git config section key for http settings.
        See Also:
        Constant Field Values
      • FOLLOW_REDIRECTS_KEY

        public static final java.lang.String FOLLOW_REDIRECTS_KEY
        git config key for the "followRedirects" setting.
        See Also:
        Constant Field Values
      • MAX_REDIRECTS_KEY

        public static final java.lang.String MAX_REDIRECTS_KEY
        git config key for the "maxRedirects" setting.
        See Also:
        Constant Field Values
      • POST_BUFFER_KEY

        public static final java.lang.String POST_BUFFER_KEY
        git config key for the "postBuffer" setting.
        See Also:
        Constant Field Values
      • SSL_VERIFY_KEY

        public static final java.lang.String SSL_VERIFY_KEY
        git config key for the "sslVerify" setting.
        See Also:
        Constant Field Values
      • USER_AGENT

        public static final java.lang.String USER_AGENT
        git config key for the "userAgent" setting.
        Since:
        5.10
        See Also:
        Constant Field Values
      • EXTRA_HEADER

        public static final java.lang.String EXTRA_HEADER
        git config key for the "extraHeader" setting.
        Since:
        5.10
        See Also:
        Constant Field Values
      • COOKIE_FILE_KEY

        public static final java.lang.String COOKIE_FILE_KEY
        git config key for the "cookieFile" setting.
        Since:
        5.4
        See Also:
        Constant Field Values
      • SAVE_COOKIES_KEY

        public static final java.lang.String SAVE_COOKIES_KEY
        git config key for the "saveCookies" setting.
        Since:
        5.4
        See Also:
        Constant Field Values
      • COOKIE_FILE_CACHE_LIMIT_KEY

        public static final java.lang.String COOKIE_FILE_CACHE_LIMIT_KEY
        Custom JGit config key which holds the maximum number of cookie files to keep in the cache.
        Since:
        5.4
        See Also:
        Constant Field Values
      • DEFAULT_COOKIE_FILE_CACHE_LIMIT

        private static final int DEFAULT_COOKIE_FILE_CACHE_LIMIT
        See Also:
        Constant Field Values
      • MAX_REDIRECT_SYSTEM_PROPERTY

        private static final java.lang.String MAX_REDIRECT_SYSTEM_PROPERTY
        See Also:
        Constant Field Values
      • MAX_REDIRECTS

        private static final int MAX_REDIRECTS
      • ENV_HTTP_USER_AGENT

        private static final java.lang.String ENV_HTTP_USER_AGENT
        See Also:
        Constant Field Values
      • postBuffer

        private int postBuffer
      • sslVerify

        private boolean sslVerify
      • maxRedirects

        private int maxRedirects
      • userAgent

        private java.lang.String userAgent
      • extraHeaders

        private java.util.List<java.lang.String> extraHeaders
      • cookieFile

        private java.lang.String cookieFile
      • saveCookies

        private boolean saveCookies
      • cookieFileCacheLimit

        private int cookieFileCacheLimit
    • Constructor Detail

      • HttpConfig

        public HttpConfig​(Config config,
                          URIish uri)
        Creates a new HttpConfig tailored to the given URIish.
        Parameters:
        config - to read the HttpConfig from
        uri - to get the configuration values for
      • HttpConfig

        public HttpConfig​(URIish uri)
        Creates a HttpConfig that reads values solely from the user config.
        Parameters:
        uri - to get the configuration values for
    • Method Detail

      • getPostBuffer

        public int getPostBuffer()
        Get the "http.postBuffer" setting
        Returns:
        the value of the "http.postBuffer" setting
      • isSslVerify

        public boolean isSslVerify()
        Get the "http.sslVerify" setting
        Returns:
        the value of the "http.sslVerify" setting
      • getFollowRedirects

        public HttpConfig.HttpRedirectMode getFollowRedirects()
        Get the "http.followRedirects" setting
        Returns:
        the value of the "http.followRedirects" setting
      • getMaxRedirects

        public int getMaxRedirects()
        Get the "http.maxRedirects" setting
        Returns:
        the value of the "http.maxRedirects" setting
      • getUserAgent

        public java.lang.String getUserAgent()
        Get the "http.userAgent" setting
        Returns:
        the value of the "http.userAgent" setting
        Since:
        5.10
      • getExtraHeaders

        @NonNull
        public java.util.List<java.lang.String> getExtraHeaders()
        Get the "http.extraHeader" setting
        Returns:
        the value of the "http.extraHeader" setting
        Since:
        5.10
      • getCookieFile

        public java.lang.String getCookieFile()
        Get the "http.cookieFile" setting
        Returns:
        the value of the "http.cookieFile" setting
        Since:
        5.4
      • getSaveCookies

        public boolean getSaveCookies()
        Get the "http.saveCookies" setting
        Returns:
        the value of the "http.saveCookies" setting
        Since:
        5.4
      • getCookieFileCacheLimit

        public int getCookieFileCacheLimit()
        Get the "http.cookieFileCacheLimit" setting (gives the maximum number of cookie files to keep in the LRU cache)
        Returns:
        the value of the "http.cookieFileCacheLimit" setting
        Since:
        5.4
      • findLastEmpty

        private int findLastEmpty​(java.lang.String[] values)
      • findMatch

        private java.lang.String findMatch​(java.util.Set<java.lang.String> names,
                                           URIish uri)
        Determines the best match from a set of subsection names (representing prefix URLs) for the given URIish.
        Parameters:
        names - to match against the uri
        uri - to find a match for
        Returns:
        the best matching subsection name, or null if no subsection matches
      • compare

        private boolean compare​(java.lang.String a,
                                java.lang.String b)
      • defaultedPort

        private int defaultedPort​(int port,
                                  java.lang.String scheme)
      • segmentCompare

        static int segmentCompare​(java.lang.String uriPath,
                                  java.lang.String m)
      • normalize

        static java.lang.String normalize​(java.lang.String path)