001package com.nimbusds.oauth2.sdk.http; 002 003 004import net.jcip.annotations.ThreadSafe; 005 006 007/** 008 * Abstract retrieved of resources by URL with HTTP timeout and entity size 009 * restrictions. 010 */ 011@ThreadSafe 012@Deprecated 013public abstract class AbstractRestrictedResourceRetriever implements RestrictedResourceRetriever { 014 015 016 /** 017 * The HTTP connect timeout, in milliseconds. 018 */ 019 private int connectTimeout; 020 021 022 /** 023 * The HTTP read timeout, in milliseconds. 024 */ 025 private int readTimeout; 026 027 028 /** 029 * The HTTP entity size limit, in bytes. 030 */ 031 private int sizeLimit; 032 033 034 /** 035 * Creates a new abstract restricted resource retriever. 036 * 037 * @param connectTimeout The HTTP connects timeout, in milliseconds, 038 * zero for infinite. Must not be negative. 039 * @param readTimeout The HTTP read timeout, in milliseconds, zero 040 * for infinite. Must not be negative. 041 * @param sizeLimit The HTTP entity size limit, in bytes, zero for 042 * infinite. Must not be negative. 043 */ 044 public AbstractRestrictedResourceRetriever(int connectTimeout, int readTimeout, int sizeLimit) { 045 setConnectTimeout(connectTimeout); 046 setReadTimeout(readTimeout); 047 setSizeLimit(sizeLimit); 048 } 049 050 051 @Override 052 public int getConnectTimeout() { 053 054 return connectTimeout; 055 } 056 057 058 @Override 059 public void setConnectTimeout(final int connectTimeoutMs) { 060 061 if (connectTimeoutMs < 0) { 062 throw new IllegalArgumentException("The connect timeout must not be negative"); 063 } 064 065 this.connectTimeout = connectTimeoutMs; 066 } 067 068 069 @Override 070 public int getReadTimeout() { 071 072 return readTimeout; 073 } 074 075 076 @Override 077 public void setReadTimeout(final int readTimeoutMs) { 078 079 if (readTimeoutMs < 0) { 080 throw new IllegalArgumentException("The read timeout must not be negative"); 081 } 082 083 this.readTimeout = readTimeoutMs; 084 } 085 086 087 @Override 088 public int getSizeLimit() { 089 090 return sizeLimit; 091 } 092 093 094 @Override 095 public void setSizeLimit(int sizeLimitBytes) { 096 097 if (sizeLimitBytes < 0) { 098 throw new IllegalArgumentException("The size limit must not be negative"); 099 } 100 101 this.sizeLimit = sizeLimitBytes; 102 } 103}