Support access tokens in headers (Fix #65) (#70)

This commit is contained in:
Max Dor
2018-04-02 17:26:03 +02:00
committed by GitHub
parent 91ccb75fa1
commit 5ef145212a
17 changed files with 150 additions and 32 deletions

View File

@@ -0,0 +1,29 @@
/*
* mxisd - Matrix Identity Server Daemon
* Copyright (C) 2018 Kamax Sarl
*
* https://www.kamax.io/
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package io.kamax.mxisd.exception;
public class AccessTokenNotFoundException extends HttpMatrixException {
public AccessTokenNotFoundException() {
super(401, "M_UNKNOWN_TOKEN", "An access token is required to access this resource");
}
}

View File

@@ -22,7 +22,7 @@ package io.kamax.mxisd.exception;
import org.apache.http.HttpStatus;
public class FeatureNotAvailable extends MatrixException {
public class FeatureNotAvailable extends HttpMatrixException {
private String internalReason;

View File

@@ -20,28 +20,19 @@
package io.kamax.mxisd.exception;
public class MatrixException extends MxisdException {
import io.kamax.matrix.MatrixException;
public class HttpMatrixException extends MatrixException {
private int status;
private String errorCode;
private String error;
public MatrixException(int status, String errorCode, String error) {
public HttpMatrixException(int status, String errorCode, String error) {
super(errorCode, error);
this.status = status;
this.errorCode = errorCode;
this.error = error;
}
public int getStatus() {
return status;
}
public String getErrorCode() {
return errorCode;
}
public String getError() {
return error;
}
}

View File

@@ -24,7 +24,7 @@ import org.apache.http.HttpStatus;
import java.time.Instant;
public class InternalServerError extends MatrixException {
public class InternalServerError extends HttpMatrixException {
private String reference = Long.toString(Instant.now().toEpochMilli());
private String internalReason;

View File

@@ -22,7 +22,7 @@ package io.kamax.mxisd.exception;
import org.apache.http.HttpStatus;
public class MessageForClientException extends MatrixException {
public class MessageForClientException extends HttpMatrixException {
public MessageForClientException(String error) {
super(HttpStatus.SC_OK, "M_MESSAGE_FOR_CLIENT", error);

View File

@@ -23,7 +23,7 @@ package io.kamax.mxisd.exception;
import org.apache.http.HttpStatus;
public class NotAllowedException extends MatrixException {
public class NotAllowedException extends HttpMatrixException {
public NotAllowedException(String s) {
super(HttpStatus.SC_FORBIDDEN, "M_FORBIDDEN", s);

View File

@@ -2,7 +2,7 @@ package io.kamax.mxisd.exception;
import org.apache.http.HttpStatus;
public class RemoteHomeServerException extends MatrixException {
public class RemoteHomeServerException extends HttpMatrixException {
public RemoteHomeServerException(String error) {
super(HttpStatus.SC_SERVICE_UNAVAILABLE, "M_REMOTE_HS_ERROR", "Error from remote server: " + error);

View File

@@ -22,7 +22,7 @@ package io.kamax.mxisd.exception;
import org.apache.http.HttpStatus;
public class RemoteIdentityServerException extends MatrixException {
public class RemoteIdentityServerException extends HttpMatrixException {
public RemoteIdentityServerException(String error) {
super(HttpStatus.SC_SERVICE_UNAVAILABLE, "M_REMOTE_IS_ERROR", "Error from remote server: " + error);

View File

@@ -23,7 +23,7 @@ package io.kamax.mxisd.exception;
import com.google.gson.JsonObject;
public class RemoteLoginException extends MatrixException {
public class RemoteLoginException extends HttpMatrixException {
private JsonObject errorBodyMsgResp;

View File

@@ -22,7 +22,7 @@ package io.kamax.mxisd.exception;
import org.apache.http.HttpStatus;
public class SessionNotValidatedException extends MatrixException {
public class SessionNotValidatedException extends HttpMatrixException {
public SessionNotValidatedException() {
super(HttpStatus.SC_OK, "M_SESSION_NOT_VALIDATED", "This validation session has not yet been completed");

View File

@@ -20,7 +20,7 @@
package io.kamax.mxisd.exception;
public class SessionUnknownException extends MatrixException {
public class SessionUnknownException extends HttpMatrixException {
public SessionUnknownException() {
this("No valid session was found matching that sid and client secret");