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

com.carma.swagger.doclet.sample.SampleService Maven / Gradle / Ivy

The newest version!
package com.carma.swagger.doclet.sample;

import org.eclipse.jetty.servlets.CrossOriginFilter;

import com.carma.swagger.doclet.sample.resources.AuthResource;
import com.carma.swagger.doclet.sample.resources.FileResource;
import com.carma.swagger.doclet.sample.resources.GreetingsResource;
import com.carma.swagger.doclet.sample.resources.HttpServletRequestResource;
import com.carma.swagger.doclet.sample.resources.ModelResource;
import com.carma.swagger.doclet.sample.resources.ParentResource;
import com.carma.swagger.doclet.sample.resources.PersonResource;
import com.carma.swagger.doclet.sample.resources.RecursiveResource;
import com.carma.swagger.doclet.sample.resources.RegexPathResource;
import com.carma.swagger.doclet.sample.resources.ResponseResource;
import com.carma.swagger.doclet.sample.resources.SubResource;
import com.google.common.base.Optional;
import com.yammer.dropwizard.Service;
import com.yammer.dropwizard.assets.AssetsBundle;
import com.yammer.dropwizard.auth.AuthenticationException;
import com.yammer.dropwizard.auth.Authenticator;
import com.yammer.dropwizard.auth.basic.BasicAuthProvider;
import com.yammer.dropwizard.auth.basic.BasicCredentials;
import com.yammer.dropwizard.config.Bootstrap;
import com.yammer.dropwizard.config.Configuration;
import com.yammer.dropwizard.config.Environment;

public class SampleService extends Service {

	public static void main(String[] args) throws Exception {
		new SampleService().run(args);
	}

	@Override
	public void initialize(Bootstrap bootstrap) {
		bootstrap.addBundle(new AssetsBundle("/apidocs", "/apidocs", "index.html"));
	}

	@Override
	public void run(Configuration configuration, Environment environment) throws Exception {
		environment.addProvider(new BasicAuthProvider(new Authenticator() {

			public Optional authenticate(BasicCredentials basicCredentials) throws AuthenticationException {
				return Optional.of("USERNAME");
			}
		}, "AuthResource Realm"));

		environment.addFilter(CrossOriginFilter.class, "/*").setInitParam("allowedOrigins", "*")
				.setInitParam("allowedHeaders", "X-Requested-With,Content-Type,Accept,Origin")
				.setInitParam("allowedMethods", "OPTIONS,GET,PUT,POST,DELETE,HEAD");

		environment.addResource(new AuthResource());
		environment.addResource(new GreetingsResource());
		environment.addResource(new HttpServletRequestResource());
		environment.addResource(new RecursiveResource());
		environment.addResource(new ResponseResource());
		environment.addResource(new ModelResource());
		environment.addResource(new ParentResource());
		environment.addResource(new SubResource());
		environment.addResource(new PersonResource());
		environment.addResource(new FileResource());
		environment.addResource(new RegexPathResource());
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy