Skip to content

Commit

Permalink
Merge pull request #5 from swisspush/master
Browse files Browse the repository at this point in the history
update from swisspush master
  • Loading branch information
mcweba committed Apr 19, 2016
2 parents 379783a + fe64523 commit 61279ea
Show file tree
Hide file tree
Showing 33 changed files with 89 additions and 86 deletions.
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
modowner=li.chee.vertx
modowner=org.swisspush
modname=rest-storage
version=2.0.3-SNAPSHOT
version=2.1.0

gradleVersion=2.3
vertxVersion=3.2.0
Expand Down
11 changes: 8 additions & 3 deletions gradle/maven.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,11 @@ apply plugin: 'signing'
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// maven task configuration

ext.isReleaseVersion = !version.endsWith("SNAPSHOT")

signing {
if (project.hasProperty('signArchives')) {
sign configurations.archives
}
required { isReleaseVersion && gradle.taskGraph.hasTask("uploadArchives") }
sign configurations.archives
}

if (!project.hasProperty('repoUsername')) {
Expand Down Expand Up @@ -79,6 +80,10 @@ uploadArchives {
snapshotRepository(url: "$snapshotRepository") {
authentication(userName: "$repoUsername", password: "$repoPassword")
}

if (isReleaseVersion) {
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
}

pom.project {
name 'vertx-rest-storage'
Expand Down
4 changes: 2 additions & 2 deletions gradle/vertx.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,7 @@ def loadProperties(String sourceFileName) {
def propFile = new File(sourceFileName)
if (propFile.canRead()) {
config.load(new FileInputStream(propFile))
for (Map.Entry property in config) {
for (def property in config) {
project.ext[property.key] = property.value;
}
}
Expand All @@ -266,4 +266,4 @@ plugins.withType(IdeaPlugin) {
scopes.RUNTIME.minus += [ configurations.provided ]
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package li.chee.vertx.reststorage;
package org.swisspush.reststorage;
import java.util.List;


Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package li.chee.vertx.reststorage;
package org.swisspush.reststorage;

import io.vertx.core.Handler;
import io.vertx.core.streams.ReadStream;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package li.chee.vertx.reststorage;
package org.swisspush.reststorage;

import io.netty.handler.codec.http.QueryStringDecoder;
import io.vertx.core.*;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package li.chee.vertx.reststorage;
package org.swisspush.reststorage;

import io.vertx.core.Handler;
import io.vertx.core.Vertx;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package li.chee.vertx.reststorage;
package org.swisspush.reststorage;

import java.io.IOException;
import java.io.InputStream;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package li.chee.vertx.reststorage;
package org.swisspush.reststorage;

import io.vertx.core.Handler;
import io.vertx.core.Vertx;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package li.chee.vertx.reststorage;
package org.swisspush.reststorage;

import io.vertx.core.Handler;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package li.chee.vertx.reststorage;
package org.swisspush.reststorage;

import io.vertx.core.Handler;
import io.vertx.core.Vertx;
Expand All @@ -9,15 +9,14 @@
import io.vertx.core.logging.Logger;
import io.vertx.core.streams.Pump;
import io.vertx.ext.web.Router;
import org.swisspush.reststorage.util.StatusCode;

import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

import static li.chee.vertx.reststorage.util.StatusCode.*;

public class RestStorageHandler implements Handler<HttpServerRequest> {

private static final String EXPIRE_AFTER_HEADER = "x-expire-after";
Expand Down Expand Up @@ -59,7 +58,7 @@ public RestStorageHandler(Vertx vertx, final Logger log, final Storage storage,
}
ctx.response().headers().add(CONTENT_LENGTH, "" + documentResource.length);
ctx.response().headers().add(CONTENT_TYPE, "application/json; charset=utf-8");
ctx.response().setStatusCode(OK.getStatusCode());
ctx.response().setStatusCode(StatusCode.OK.getStatusCode());
final Pump pump = Pump.pump(documentResource.readStream, ctx.response());
documentResource.readStream.endHandler(nothing -> {
documentResource.closeHandler.handle(null);
Expand Down Expand Up @@ -98,10 +97,10 @@ public void handle(Buffer event) {
storage.storageExpand(path, etag, subResourceNames, resource -> {

if(resource.invalid){
ctx.response().setStatusCode(INTERNAL_SERVER_ERROR.getStatusCode());
ctx.response().setStatusMessage(INTERNAL_SERVER_ERROR.getStatusMessage());
ctx.response().setStatusCode(StatusCode.INTERNAL_SERVER_ERROR.getStatusCode());
ctx.response().setStatusMessage(StatusCode.INTERNAL_SERVER_ERROR.getStatusMessage());

String message = INTERNAL_SERVER_ERROR.getStatusMessage();
String message = StatusCode.INTERNAL_SERVER_ERROR.getStatusMessage();
if(resource.invalidMessage != null){
message = resource.invalidMessage;
}
Expand All @@ -110,8 +109,8 @@ public void handle(Buffer event) {
}

if (!resource.modified) {
ctx.response().setStatusCode(NOT_MODIFIED.getStatusCode());
ctx.response().setStatusMessage(NOT_MODIFIED.getStatusMessage());
ctx.response().setStatusCode(StatusCode.NOT_MODIFIED.getStatusCode());
ctx.response().setStatusMessage(StatusCode.NOT_MODIFIED.getStatusMessage());
ctx.response().headers().set(ETAG_HEADER, etag);
ctx.response().headers().add(CONTENT_LENGTH, "0");
ctx.response().end();
Expand Down Expand Up @@ -142,9 +141,9 @@ public void handle(Buffer event) {
if (log.isTraceEnabled()) {
log.trace("RestStorageHandler Could not find resource: " + ctx.request().uri());
}
ctx.response().setStatusCode(NOT_FOUND.getStatusCode());
ctx.response().setStatusMessage(NOT_FOUND.getStatusMessage());
ctx.response().end(NOT_FOUND.toString());
ctx.response().setStatusCode(StatusCode.NOT_FOUND.getStatusCode());
ctx.response().setStatusMessage(StatusCode.NOT_FOUND.getStatusMessage());
ctx.response().end(StatusCode.NOT_FOUND.toString());
}
});
}
Expand All @@ -169,8 +168,8 @@ public void handle(Resource resource) {
}

if (!resource.modified) {
ctx.response().setStatusCode(NOT_MODIFIED.getStatusCode());
ctx.response().setStatusMessage(NOT_MODIFIED.getStatusMessage());
ctx.response().setStatusCode(StatusCode.NOT_MODIFIED.getStatusCode());
ctx.response().setStatusMessage(StatusCode.NOT_MODIFIED.getStatusMessage());
ctx.response().headers().set(ETAG_HEADER, etag);
ctx.response().headers().add(CONTENT_LENGTH, "0");
ctx.response().end();
Expand All @@ -190,8 +189,8 @@ public void handle(Resource resource) {
if (log.isTraceEnabled()) {
log.trace("RestStorageHandler accept contains text/html and ends with /");
}
ctx.response().setStatusCode(FOUND.getStatusCode());
ctx.response().setStatusMessage(FOUND.getStatusMessage());
ctx.response().setStatusCode(StatusCode.FOUND.getStatusCode());
ctx.response().setStatusMessage(StatusCode.FOUND.getStatusMessage());
ctx.response().headers().add("Location", ctx.request().uri() + "/");
ctx.response().end();
} else if (html) {
Expand All @@ -204,8 +203,8 @@ public void handle(Resource resource) {
if (log.isTraceEnabled()) {
log.trace("RestStorageHandler query contains follow=off");
}
ctx.response().setStatusCode(FOUND.getStatusCode());
ctx.response().setStatusMessage(FOUND.getStatusMessage());
ctx.response().setStatusCode(StatusCode.FOUND.getStatusCode());
ctx.response().setStatusMessage(StatusCode.FOUND.getStatusMessage());
ctx.response().headers().add("Location", (ctx.request().uri()) + collection.items.get(0).name);
ctx.response().end();
return;
Expand Down Expand Up @@ -257,8 +256,8 @@ public void handle(Resource resource) {
if (log.isTraceEnabled()) {
log.trace("RestStorageHandler DocumentResource ends with /");
}
ctx.response().setStatusCode(FOUND.getStatusCode());
ctx.response().setStatusMessage(FOUND.getStatusMessage());
ctx.response().setStatusCode(StatusCode.FOUND.getStatusCode());
ctx.response().setStatusMessage(StatusCode.FOUND.getStatusMessage());
ctx.response().headers().add("Location", ctx.request().uri().substring(0, ctx.request().uri().length() - 1));
ctx.response().end();
} else {
Expand All @@ -269,8 +268,8 @@ public void handle(Resource resource) {
if (ctx.request().headers().names().contains("Accept") && ctx.request().headers().get("Accept").contains("text/html")) {
String editor = editors.get(mimeType.split(";")[0]);
if (editor != null) {
ctx.response().setStatusCode(FOUND.getStatusCode());
ctx.response().setStatusMessage(FOUND.getStatusMessage());
ctx.response().setStatusCode(StatusCode.FOUND.getStatusCode());
ctx.response().setStatusMessage(StatusCode.FOUND.getStatusMessage());
String editorString = editor.replaceAll("\\$path", path);
ctx.response().headers().add("Location", editorString);
ctx.response().end();
Expand All @@ -297,9 +296,9 @@ public void handle(Resource resource) {
if (log.isTraceEnabled()) {
log.trace("RestStorageHandler Could not find resource: " + ctx.request().uri());
}
ctx.response().setStatusCode(NOT_FOUND.getStatusCode());
ctx.response().setStatusMessage(NOT_FOUND.getStatusMessage());
ctx.response().end(NOT_FOUND.toString());
ctx.response().setStatusCode(StatusCode.NOT_FOUND.getStatusCode());
ctx.response().setStatusMessage(StatusCode.NOT_FOUND.getStatusMessage());
ctx.response().end(StatusCode.NOT_FOUND.toString());
}
}

Expand Down Expand Up @@ -329,7 +328,7 @@ private List<String> sortedNames(CollectionResource collection) {
expire = Long.parseLong(ctx.request().headers().get(EXPIRE_AFTER_HEADER));
} catch (NumberFormatException nfe) {
ctx.request().resume();
ctx.response().setStatusCode(BAD_REQUEST.getStatusCode());
ctx.response().setStatusCode(StatusCode.BAD_REQUEST.getStatusCode());
ctx.response().setStatusMessage("Invalid expire after parameter: " + ctx.request().headers().get(EXPIRE_AFTER_HEADER));
ctx.response().end(ctx.response().getStatusMessage());
log.error("Expire after header, invalid value: " + ctx.response().getStatusMessage());
Expand All @@ -349,31 +348,31 @@ public void handle(Resource resource) {
ctx.request().resume();

if (!resource.modified) {
ctx.response().setStatusCode(NOT_MODIFIED.getStatusCode());
ctx.response().setStatusMessage(NOT_MODIFIED.getStatusMessage());
ctx.response().setStatusCode(StatusCode.NOT_MODIFIED.getStatusCode());
ctx.response().setStatusMessage(StatusCode.NOT_MODIFIED.getStatusMessage());
ctx.response().headers().set(ETAG_HEADER, etag);
ctx.response().headers().add(CONTENT_LENGTH, "0");
ctx.response().end();
return;
}

if (!resource.exists && resource instanceof DocumentResource) {
ctx.response().setStatusCode(METHOD_NOT_ALLOWED.getStatusCode());
ctx.response().setStatusMessage(METHOD_NOT_ALLOWED.getStatusMessage());
ctx.response().setStatusCode(StatusCode.METHOD_NOT_ALLOWED.getStatusCode());
ctx.response().setStatusMessage(StatusCode.METHOD_NOT_ALLOWED.getStatusMessage());
ctx.response().headers().add("Allow", "GET, DELETE");
ctx.response().end();
}
if (resource instanceof CollectionResource) {
ctx.response().setStatusCode(METHOD_NOT_ALLOWED.getStatusCode());
ctx.response().setStatusMessage(METHOD_NOT_ALLOWED.getStatusMessage());
ctx.response().setStatusCode(StatusCode.METHOD_NOT_ALLOWED.getStatusCode());
ctx.response().setStatusMessage(StatusCode.METHOD_NOT_ALLOWED.getStatusMessage());
ctx.response().headers().add("Allow", "GET, DELETE");
ctx.response().end();
}
if (resource instanceof DocumentResource) {
final DocumentResource documentResource = (DocumentResource) resource;
documentResource.errorHandler = error -> {
ctx.response().setStatusCode(BAD_REQUEST.getStatusCode());
ctx.response().setStatusMessage(BAD_REQUEST.getStatusMessage());
ctx.response().setStatusCode(StatusCode.BAD_REQUEST.getStatusCode());
ctx.response().setStatusMessage(StatusCode.BAD_REQUEST.getStatusMessage());
ctx.response().end(error);
};
documentResource.endHandler = event -> ctx.response().end();
Expand All @@ -394,9 +393,9 @@ public void handle(Resource resource) {
}
storage.delete(path, resource -> {
if (!resource.exists) {
ctx.request().response().setStatusCode(NOT_FOUND.getStatusCode());
ctx.request().response().setStatusMessage(NOT_FOUND.getStatusMessage());
ctx.request().response().end(NOT_FOUND.toString());
ctx.request().response().setStatusCode(StatusCode.NOT_FOUND.getStatusCode());
ctx.request().response().setStatusMessage(StatusCode.NOT_FOUND.getStatusMessage());
ctx.request().response().end(StatusCode.NOT_FOUND.toString());
} else {
ctx.request().response().end();
}
Expand All @@ -407,9 +406,9 @@ public void handle(Resource resource) {
if (log.isTraceEnabled()) {
log.trace("RestStorageHandler resource not found: " + ctx.request().uri());
}
ctx.response().setStatusCode(NOT_FOUND.getStatusCode());
ctx.response().setStatusMessage(NOT_FOUND.getStatusMessage());
ctx.response().end(NOT_FOUND.toString());
ctx.response().setStatusCode(StatusCode.NOT_FOUND.getStatusCode());
ctx.response().setStatusMessage(StatusCode.NOT_FOUND.getStatusMessage());
ctx.response().end(StatusCode.NOT_FOUND.toString());
});

router.routeWithRegex(".*").handler(ctx -> respondWithNotAllowed(ctx.request()));
Expand Down Expand Up @@ -442,14 +441,14 @@ public OffsetLimit(int offset, int limit) {
}

private void respondWithNotAllowed(HttpServerRequest request) {
request.response().setStatusCode(METHOD_NOT_ALLOWED.getStatusCode());
request.response().setStatusMessage(METHOD_NOT_ALLOWED.getStatusMessage());
request.response().end(METHOD_NOT_ALLOWED.toString());
request.response().setStatusCode(StatusCode.METHOD_NOT_ALLOWED.getStatusCode());
request.response().setStatusMessage(StatusCode.METHOD_NOT_ALLOWED.getStatusMessage());
request.response().end(StatusCode.METHOD_NOT_ALLOWED.toString());
}

private void respondWithBadRequest(HttpServerRequest request, String responseMessage) {
request.response().setStatusCode(BAD_REQUEST.getStatusCode());
request.response().setStatusMessage(BAD_REQUEST.getStatusMessage());
request.response().setStatusCode(StatusCode.BAD_REQUEST.getStatusCode());
request.response().setStatusMessage(StatusCode.BAD_REQUEST.getStatusMessage());
request.response().end(responseMessage);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package li.chee.vertx.reststorage;
package org.swisspush.reststorage;

import io.vertx.core.AbstractVerticle;
import io.vertx.core.Future;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package li.chee.vertx.reststorage;
package org.swisspush.reststorage;

import io.vertx.core.Handler;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package li.chee.vertx.reststorage;
package org.swisspush.reststorage;

public class UrlParser {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package li.chee.vertx.reststorage.util;
package org.swisspush.reststorage.util;

/**
* Enum for HTTP status codes
Expand Down
2 changes: 1 addition & 1 deletion src/main/resources/mod.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"main": "li.chee.vertx.reststorage.RestStorageMod"
"main": "org.swisspush.reststorage.RestStorageMod"
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package li.chee.vertx.reststorage;
package org.swisspush.reststorage;

import com.jayway.restassured.RestAssured;
import com.jayway.restassured.builder.RequestSpecBuilder;
Expand Down Expand Up @@ -60,7 +60,8 @@ public void setUp(TestContext context) {
storageConfig.put("storageAddress", "rest-storage");
storageConfig.put("redisHost", "localhost");
storageConfig.put("redisPort", 6379);
vertx.deployVerticle("li.chee.vertx.reststorage.RestStorageMod", new DeploymentOptions().setConfig(storageConfig), context.asyncAssertSuccess(stringAsyncResult1 -> {
RestStorageMod restStorageMod = new RestStorageMod();
vertx.deployVerticle(restStorageMod, new DeploymentOptions().setConfig(storageConfig), context.asyncAssertSuccess(stringAsyncResult1 -> {
// standard code: will called @Before every test
RestAssured.basePath = "";
}));
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package li.chee.vertx.reststorage;
package org.swisspush.reststorage;

import com.jayway.restassured.http.ContentType;
import io.vertx.ext.unit.Async;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package li.chee.vertx.reststorage;
package org.swisspush.reststorage;

import com.jayway.restassured.RestAssured;
import io.vertx.ext.unit.Async;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package li.chee.vertx.reststorage;
package org.swisspush.reststorage;

import io.vertx.ext.unit.Async;
import io.vertx.ext.unit.TestContext;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package li.chee.vertx.reststorage;
package org.swisspush.reststorage;

import io.vertx.ext.unit.Async;
import io.vertx.ext.unit.TestContext;
Expand Down
Loading

0 comments on commit 61279ea

Please sign in to comment.