Commit bd7b5a7e authored by Grzegorz Pietrusza's avatar Grzegorz Pietrusza

implement simple proxy resource

parent e2e3a579
...@@ -45,5 +45,10 @@ ...@@ -45,5 +45,10 @@
</exclusion> </exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.1</version>
</dependency>
</dependencies> </dependencies>
</project> </project>
\ No newline at end of file
...@@ -92,5 +92,9 @@ ...@@ -92,5 +92,9 @@
<orderEntry type="library" name="Maven: net.sourceforge.argparse4j:argparse4j:0.6.0" level="project" /> <orderEntry type="library" name="Maven: net.sourceforge.argparse4j:argparse4j:0.6.0" level="project" />
<orderEntry type="library" name="Maven: org.eclipse.jetty.toolchain.setuid:jetty-setuid-java:1.0.3" level="project" /> <orderEntry type="library" name="Maven: org.eclipse.jetty.toolchain.setuid:jetty-setuid-java:1.0.3" level="project" />
<orderEntry type="library" name="Maven: com.google.inject:guice:4.0" level="project" /> <orderEntry type="library" name="Maven: com.google.inject:guice:4.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.3" level="project" />
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.9" level="project" />
</component> </component>
</module> </module>
\ No newline at end of file
import Repository.TasksRepository; import Repository.TasksRepository;
import Repository.TeamsRepository; import Repository.TeamsRepository;
import Repository.UsersRepository; import Repository.UsersRepository;
import api.ProxyResource;
import api.TasksResource; import api.TasksResource;
import api.TeamsResource; import api.TeamsResource;
import com.google.inject.AbstractModule; import com.google.inject.AbstractModule;
...@@ -73,6 +74,7 @@ public class CTFApplication extends Application<ApplicationConfiguration> { ...@@ -73,6 +74,7 @@ public class CTFApplication extends Application<ApplicationConfiguration> {
// environment.jersey().register(new UsersResource(usersRepository)); // environment.jersey().register(new UsersResource(usersRepository));
environment.jersey().register(new TeamsResource(teamsRepository)); environment.jersey().register(new TeamsResource(teamsRepository));
environment.jersey().register(new TasksResource(tasksRepository)); environment.jersey().register(new TasksResource(tasksRepository));
environment.jersey().register(new ProxyResource());
} }
private Injector createInjector(UsersRepository usersRepository) { private Injector createInjector(UsersRepository usersRepository) {
......
package api;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import java.io.IOException;
import java.io.InputStream;
/**
* Created by gpietrus on 16.02.16.
*/
@Path(value = "/proxy")
@Produces(MediaType.APPLICATION_JSON)
public class ProxyResource
{
@GET
@Produces("text/html; charset=UTF-8")
public InputStream foo() throws IOException {
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet httpget = new HttpGet("http://onet.pl");
CloseableHttpResponse execute = httpClient.execute(httpget);
HttpEntity entity = execute.getEntity();
return entity.getContent();
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment