summaryrefslogtreecommitdiffstats
path: root/verigraph/src/it/polito/verigraph/exception/ForbiddenExceptionMapper.java
blob: dc638986e89d74dbf8b5cc7c802d430de75b19ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/*******************************************************************************
 * Copyright (c) 2017 Politecnico di Torino and others.
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Apache License, Version 2.0
 * which accompanies this distribution, and is available at
 * http://www.apache.org/licenses/LICENSE-2.0
 *******************************************************************************/
package it.polito.verigraph.exception;

import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;

import it.polito.verigraph.model.ErrorMessage;

@Provider
public class ForbiddenExceptionMapper implements ExceptionMapper<ForbiddenException> {

    @Override
    public Response toResponse(ForbiddenException exception) {
        ErrorMessage errorMessage = new ErrorMessage( exception.getMessage(),
                403,
                "http://localhost:8080/verigraph/api-docs/");
        return Response.status(Status.FORBIDDEN).entity(errorMessage).build();
    }

}