Compare commits
No commits in common. "760b73261aa5f9256c33fd7eb0a5336cb4f5a6b1" and "db654ddfdd2b5438b2a6ddb56c611bd193f24013" have entirely different histories.
760b73261a
...
db654ddfdd
23
build.gradle
23
build.gradle
@ -1,24 +1,10 @@
|
|||||||
plugins {
|
|
||||||
id 'java'
|
|
||||||
id 'maven'
|
|
||||||
}
|
|
||||||
|
|
||||||
sourceCompatibility = 1.7
|
|
||||||
targetCompatibility = 1.7
|
|
||||||
|
|
||||||
configurations.all {
|
|
||||||
}
|
|
||||||
|
|
||||||
sourceSets {
|
|
||||||
main.java.srcDir "src/main"
|
|
||||||
test.java.srcDir "src/test"
|
|
||||||
}
|
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
}
|
}
|
||||||
|
apply plugin: "java"
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
//compile "com.github.jreddit:jreddit:1.0.3" //not supported by reddit api anymore
|
||||||
//jreddit 1.0.4 dependencies
|
//jreddit 1.0.4 dependencies
|
||||||
compile group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'
|
compile group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'
|
||||||
compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.3.3'
|
compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.3.3'
|
||||||
@ -29,6 +15,11 @@ dependencies {
|
|||||||
testCompile group: 'org.mockito', name: 'mockito-core', version: '1.9.5'
|
testCompile group: 'org.mockito', name: 'mockito-core', version: '1.9.5'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sourceSets {
|
||||||
|
main.java.srcDir "src/main"
|
||||||
|
test.java.srcDir "src/test"
|
||||||
|
}
|
||||||
|
|
||||||
jar {
|
jar {
|
||||||
from configurations.compile.collect { zipTree it }
|
from configurations.compile.collect { zipTree it }
|
||||||
manifest.attributes "Main-Class": "sh.adb.RandomRedditMemesAPI.Main"
|
manifest.attributes "Main-Class": "sh.adb.RandomRedditMemesAPI.Main"
|
||||||
|
35
gradlew
vendored
35
gradlew
vendored
@ -82,6 +82,7 @@ esac
|
|||||||
|
|
||||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||||
|
|
||||||
|
|
||||||
# Determine the Java command to use to start the JVM.
|
# Determine the Java command to use to start the JVM.
|
||||||
if [ -n "$JAVA_HOME" ] ; then
|
if [ -n "$JAVA_HOME" ] ; then
|
||||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||||
@ -125,10 +126,11 @@ if $darwin; then
|
|||||||
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# For Cygwin, switch paths to Windows format before running java
|
# For Cygwin or MSYS, switch paths to Windows format before running java
|
||||||
if $cygwin ; then
|
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
|
||||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||||
|
|
||||||
JAVACMD=`cygpath --unix "$JAVACMD"`
|
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||||
|
|
||||||
# We build the pattern for arguments to be converted via cygpath
|
# We build the pattern for arguments to be converted via cygpath
|
||||||
@ -154,19 +156,19 @@ if $cygwin ; then
|
|||||||
else
|
else
|
||||||
eval `echo args$i`="\"$arg\""
|
eval `echo args$i`="\"$arg\""
|
||||||
fi
|
fi
|
||||||
i=$((i+1))
|
i=`expr $i + 1`
|
||||||
done
|
done
|
||||||
case $i in
|
case $i in
|
||||||
(0) set -- ;;
|
0) set -- ;;
|
||||||
(1) set -- "$args0" ;;
|
1) set -- "$args0" ;;
|
||||||
(2) set -- "$args0" "$args1" ;;
|
2) set -- "$args0" "$args1" ;;
|
||||||
(3) set -- "$args0" "$args1" "$args2" ;;
|
3) set -- "$args0" "$args1" "$args2" ;;
|
||||||
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||||
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||||
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||||
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||||
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||||
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -175,14 +177,9 @@ save () {
|
|||||||
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
|
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
|
||||||
echo " "
|
echo " "
|
||||||
}
|
}
|
||||||
APP_ARGS=$(save "$@")
|
APP_ARGS=`save "$@"`
|
||||||
|
|
||||||
# Collect all arguments for the java command, following the shell quoting and substitution rules
|
# Collect all arguments for the java command, following the shell quoting and substitution rules
|
||||||
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
|
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
|
||||||
|
|
||||||
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
|
|
||||||
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
|
|
||||||
cd "$(dirname "$0")"
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec "$JAVACMD" "$@"
|
exec "$JAVACMD" "$@"
|
||||||
|
25
gradlew.bat
vendored
25
gradlew.bat
vendored
@ -29,6 +29,9 @@ if "%DIRNAME%" == "" set DIRNAME=.
|
|||||||
set APP_BASE_NAME=%~n0
|
set APP_BASE_NAME=%~n0
|
||||||
set APP_HOME=%DIRNAME%
|
set APP_HOME=%DIRNAME%
|
||||||
|
|
||||||
|
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||||
|
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||||
|
|
||||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||||
|
|
||||||
@ -37,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome
|
|||||||
|
|
||||||
set JAVA_EXE=java.exe
|
set JAVA_EXE=java.exe
|
||||||
%JAVA_EXE% -version >NUL 2>&1
|
%JAVA_EXE% -version >NUL 2>&1
|
||||||
if "%ERRORLEVEL%" == "0" goto init
|
if "%ERRORLEVEL%" == "0" goto execute
|
||||||
|
|
||||||
echo.
|
echo.
|
||||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||||
@ -51,7 +54,7 @@ goto fail
|
|||||||
set JAVA_HOME=%JAVA_HOME:"=%
|
set JAVA_HOME=%JAVA_HOME:"=%
|
||||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||||
|
|
||||||
if exist "%JAVA_EXE%" goto init
|
if exist "%JAVA_EXE%" goto execute
|
||||||
|
|
||||||
echo.
|
echo.
|
||||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||||
@ -61,28 +64,14 @@ echo location of your Java installation.
|
|||||||
|
|
||||||
goto fail
|
goto fail
|
||||||
|
|
||||||
:init
|
|
||||||
@rem Get command-line arguments, handling Windows variants
|
|
||||||
|
|
||||||
if not "%OS%" == "Windows_NT" goto win9xME_args
|
|
||||||
|
|
||||||
:win9xME_args
|
|
||||||
@rem Slurp the command line arguments.
|
|
||||||
set CMD_LINE_ARGS=
|
|
||||||
set _SKIP=2
|
|
||||||
|
|
||||||
:win9xME_args_slurp
|
|
||||||
if "x%~1" == "x" goto execute
|
|
||||||
|
|
||||||
set CMD_LINE_ARGS=%*
|
|
||||||
|
|
||||||
:execute
|
:execute
|
||||||
@rem Setup the command line
|
@rem Setup the command line
|
||||||
|
|
||||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||||
|
|
||||||
|
|
||||||
@rem Execute Gradle
|
@rem Execute Gradle
|
||||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
|
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||||
|
|
||||||
:end
|
:end
|
||||||
@rem End local scope for the variables with windows NT shell
|
@rem End local scope for the variables with windows NT shell
|
||||||
|
@ -1,21 +0,0 @@
|
|||||||
package sh.adb.RandomRedditMemesAPI;
|
|
||||||
|
|
||||||
import com.sun.net.httpserver.HttpExchange;
|
|
||||||
import com.sun.net.httpserver.HttpHandler;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStream;
|
|
||||||
import java.io.OutputStream;
|
|
||||||
|
|
||||||
class CommunityHandler implements HttpHandler {
|
|
||||||
@Override
|
|
||||||
public void handle(HttpExchange t) throws IOException {
|
|
||||||
InputStream is = t.getRequestBody();
|
|
||||||
//is.read();
|
|
||||||
String response = "This is the response";
|
|
||||||
t.sendResponseHeaders(200, response.length());
|
|
||||||
OutputStream os = t.getResponseBody();
|
|
||||||
os.write(response.getBytes());
|
|
||||||
os.close();
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,21 +0,0 @@
|
|||||||
package sh.adb.RandomRedditMemesAPI;
|
|
||||||
|
|
||||||
import com.sun.net.httpserver.HttpExchange;
|
|
||||||
import com.sun.net.httpserver.HttpHandler;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.InputStream;
|
|
||||||
import java.io.OutputStream;
|
|
||||||
|
|
||||||
class FallbackHandler implements HttpHandler {
|
|
||||||
@Override
|
|
||||||
public void handle(HttpExchange t) throws IOException {
|
|
||||||
InputStream is = t.getRequestBody();
|
|
||||||
//is.read();
|
|
||||||
String response = "404";
|
|
||||||
t.sendResponseHeaders(404, response.length());
|
|
||||||
OutputStream os = t.getResponseBody();
|
|
||||||
os.write(response.getBytes());
|
|
||||||
os.close();
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,29 +1,23 @@
|
|||||||
package sh.adb.RandomRedditMemesAPI;
|
package sh.adb.RandomRedditMemesAPI;
|
||||||
|
|
||||||
import com.github.jreddit.oauth.RedditOAuthAgent;
|
|
||||||
import com.github.jreddit.oauth.RedditToken;
|
|
||||||
import com.github.jreddit.oauth.app.RedditApp;
|
|
||||||
import com.github.jreddit.oauth.app.RedditInstalledApp;
|
|
||||||
import com.github.jreddit.oauth.exception.RedditOAuthException;
|
import com.github.jreddit.oauth.exception.RedditOAuthException;
|
||||||
import com.sun.net.httpserver.HttpServer;
|
import com.sun.net.httpserver.HttpServer;
|
||||||
import org.json.simple.parser.ParseException;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
|
|
||||||
public class Main {
|
public class Main {
|
||||||
public static void main(String[] args) throws IOException, RedditOAuthException, ParseException {
|
public static void main(String[] args) throws IOException, RedditOAuthException {
|
||||||
HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);
|
HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);
|
||||||
server.createContext("/", new FallbackHandler());
|
server.createContext("", new ErrorHandler());
|
||||||
//server.createContext("/api/v1/", new StandardHandler());
|
//server.createContext("/api/v1/", new StandardHandler());
|
||||||
server.createContext("/api/v1/r/", new CommunityHandler());
|
server.createContext("/api/v1/r/", new CommunityHandler());
|
||||||
server.setExecutor(null);
|
server.setExecutor(null);
|
||||||
server.start();
|
server.start();
|
||||||
System.out.println("server started");
|
|
||||||
|
|
||||||
RedditAPI client = new RedditAPI();
|
RedditAPI client = new RedditAPI();
|
||||||
System.out.println("the token is");
|
System.out.println("the token is");
|
||||||
System.out.println(client.token.getAccessToken());
|
System.out.println(client.token);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -9,23 +9,24 @@ import com.github.jreddit.oauth.app.RedditInstalledApp;
|
|||||||
import com.github.jreddit.oauth.exception.RedditOAuthException;
|
import com.github.jreddit.oauth.exception.RedditOAuthException;
|
||||||
|
|
||||||
public class RedditAPI {
|
public class RedditAPI {
|
||||||
private final RedditOAuthAgent agent;
|
private RedditApp redditApp;
|
||||||
protected RedditToken token;
|
private RedditOAuthAgent agent;
|
||||||
|
public RedditToken token;
|
||||||
|
|
||||||
public RedditAPI() throws RedditOAuthException, ParseException {
|
public RedditAPI() throws RedditOAuthException {
|
||||||
// Information about the app
|
// Information about the app
|
||||||
String userAgent = "jReddit: Reddit API Wrapper for Java";
|
String userAgent = "jReddit: Reddit API Wrapper for Java";
|
||||||
String clientID = "PfnhLt3VahLrbg";
|
String clientID = "gn9RWt8rgo2GDoZK";
|
||||||
String redirectURI = "https://github.com/snkas/jReddit";
|
String redirectURI = "https://github.com/snkas/jReddit";
|
||||||
|
|
||||||
// Reddit application
|
// Reddit application
|
||||||
RedditApp redditApp = new RedditInstalledApp(clientID, redirectURI);
|
RedditApp redditApp = new RedditInstalledApp(clientID, redirectURI);
|
||||||
|
|
||||||
// Create OAuth agent
|
// Create OAuth agent
|
||||||
agent = new RedditOAuthAgent(userAgent, redditApp);
|
RedditOAuthAgent agent = new RedditOAuthAgent(userAgent, redditApp);
|
||||||
|
|
||||||
// Create token (will be valid for 1 hour)
|
// Create token (will be valid for 1 hour)
|
||||||
token = agent.tokenAppOnly(false);
|
RedditToken token = agent.tokenAppOnly(false);
|
||||||
System.out.println("Access Token: " + token.getAccessToken());
|
System.out.println("Access Token: " + token.getAccessToken());
|
||||||
System.out.println("Token Type: " + token.getTokenType());
|
System.out.println("Token Type: " + token.getTokenType());
|
||||||
System.out.println("Refreshable: " + token.isRefreshable());
|
System.out.println("Refreshable: " + token.isRefreshable());
|
||||||
@ -35,6 +36,6 @@ public class RedditAPI {
|
|||||||
System.out.println("Will expire in 59 minutes: " + token.willExpireIn((long) 3540));
|
System.out.println("Will expire in 59 minutes: " + token.willExpireIn((long) 3540));
|
||||||
}
|
}
|
||||||
public void newToken() throws RedditOAuthException {
|
public void newToken() throws RedditOAuthException {
|
||||||
this.token = this.agent.tokenAppOnly(false);
|
RedditToken token = this.agent.tokenAppOnly(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user