javax.ws.rs.core.Response.ResponseBuilder#type()源码实例Demo

下面列出了javax.ws.rs.core.Response.ResponseBuilder#type() 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: apiman   文件: RestExceptionMapper.java
/**
 * @see javax.ws.rs.ext.ExceptionMapper#toResponse(java.lang.Throwable)
 */
@Override
public Response toResponse(AbstractEngineException data) {
    int errorCode;
    if (data instanceof IStatusCode) {
        errorCode = ((IStatusCode) data).getStatusCode();
    } else {
        errorCode = mapExceptionToHttpErrorCode(data);
    }
    GatewayApiErrorBean error = new GatewayApiErrorBean();
    error.setErrorType(data.getClass().getSimpleName());
    error.setMessage(data.getMessage());
    error.setStacktrace(getStackTrace(data));
    ResponseBuilder builder = Response.status(errorCode).header("X-API-Gateway-Error", "true"); //$NON-NLS-1$ //$NON-NLS-2$
    builder.type(MediaType.APPLICATION_JSON_TYPE);
    return builder.entity(error).build();
}
 
源代码2 项目: org.openntf.domino   文件: FramedResource.java
private ResponseBuilder getBuilder(final String jsonEntity, final Date lastMod, final boolean includeEtag, final Request request) {
	String etagSource = DominoUtils.md5(jsonEntity);
	EntityTag etag = new EntityTag(etagSource);
	ResponseBuilder berg = null;
	if (request != null) {
		berg = request.evaluatePreconditions(etag);
	}
	if (berg == null) {
		// System.out.println("TEMP DEBUG creating a new builder");
		berg = Response.ok();
		if (includeEtag) {
			berg.tag(etag);
		}
		berg.type(MediaType.APPLICATION_JSON_TYPE);
		berg.entity(jsonEntity);
		berg.lastModified(lastMod);
		CacheControl cc = new CacheControl();
		cc.setMustRevalidate(true);
		cc.setPrivate(true);
		cc.setMaxAge(86400);
		cc.setNoTransform(true);
		berg.cacheControl(cc);
	}
	return berg;
}
 
源代码3 项目: org.openntf.domino   文件: SearchResource.java
private ResponseBuilder getBuilder(final String jsonEntity, final Date lastMod, final boolean includeEtag, final Request request) {
	String etagSource = DominoUtils.md5(jsonEntity);
	EntityTag etag = new EntityTag(etagSource);
	ResponseBuilder berg = null;
	if (request != null) {
		berg = request.evaluatePreconditions(etag);
	}
	if (berg == null) {
		berg = Response.ok();
		if (includeEtag) {
			berg.tag(etag);
		}
		berg.type(MediaType.APPLICATION_JSON_TYPE);
		berg.entity(jsonEntity);
		berg.lastModified(lastMod);
		CacheControl cc = new CacheControl();
		cc.setMustRevalidate(true);
		cc.setPrivate(true);
		cc.setMaxAge(86400);
		cc.setNoTransform(true);
		berg.cacheControl(cc);
	}
	return berg;
}
 
源代码4 项目: gossip   文件: GossipValidateErrorProvider.java
private Response buildViolationReportResponse(ResteasyViolationException exception) {
    ResponseBuilder builder = Response.status(BAD_REQUEST);
    builder.header(VALIDATION_HEADER, "true");
    builder.type(APPLICATION_JSON_TYPE);

    List<ResteasyConstraintViolation> violations = exception.getViolations();

    if (violations.isEmpty()) {
        builder.entity(new ValidateErrorResponse(exception.toString()));
    } else {
        if (log.isDebugEnabled()) {
            try {
                log.debug(objectMapper.writeValueAsString(violations));
            } catch (JsonProcessingException e) {
                log.debug("", e); // Useless, just make sonar and compiler happy w(゚Д゚)w
            }
        }
        builder.entity(new ValidateErrorResponse(violations));
    }

    return builder.build();
}
 
源代码5 项目: cxf   文件: StatsRestServiceImpl.java
@GET
@Path("/static/{resource:.*}")
public Response getResource(@Context UriInfo uriInfo, @PathParam("resource") String resourcePath) {
    if (resourcePath.contains("favicon")) {
        return Response.status(404).build();
    }

    try {
        final URL resourceURL = getClass().getResource("/web-ui/" + resourcePath);
        final ResponseBuilder rb = Response.ok(resourceURL.openStream());
        
        int ind = resourcePath.lastIndexOf('.');
        if (ind != -1 && ind < resourcePath.length()) {
            String ext = resourcePath.substring(ind + 1);
            if ("js".equalsIgnoreCase(ext)) {
                rb.type("application/javascript");
            } else {
                rb.type(MediaType.TEXT_HTML);
            }
        }
        
        return rb.build();
    } catch (IOException ex) {
        throw new NotFoundException(ex);
    }
}
 
protected Response buildViolationReportResponse(ResteasyViolationException exception, Status status) {
    ResponseBuilder builder = Response.status(status);
    builder.header(Validation.VALIDATION_HEADER, "true");

    // Check standard media types.
    MediaType mediaType = getAcceptMediaType(exception.getAccept());
    if (mediaType != null) {
        builder.type(mediaType);
        builder.entity(new ViolationReport(exception));
        return builder.build();
    }

    // Default media type.
    builder.type(MediaType.TEXT_PLAIN);
    builder.entity(exception.toString());
    return builder.build();
}
 
源代码7 项目: pxf   文件: InvalidPathResource.java
/**
 * Returns error message
 */
private Response sendErrorMessage(String message) {
    ResponseBuilder b = Response.serverError();
    b.entity(message);
    b.type(MediaType.TEXT_PLAIN_TYPE);
    return b.build();
}
 
源代码8 项目: pxf   文件: VersionResource.java
/**
 * Returns the PXF protocol version used currently.
 *
 * @return response with the PXF protocol version
 */
@GET
@Produces("application/json")
public Response getProtocolVersion() {

    ResponseBuilder b = Response.ok();
    b.entity("{ \"version\": \"" + Version.PXF_PROTOCOL_VERSION + "\"}");
    b.type(MediaType.APPLICATION_JSON_TYPE);
    return b.build();
}
 
源代码9 项目: org.openntf.domino   文件: ReferenceResource.java
private ResponseBuilder getBuilder(String jsonEntity, Date lastMod, boolean includeEtag, Request request) {
	String etagSource = DominoUtils.md5(jsonEntity);
	EntityTag etag = new EntityTag(etagSource);
	ResponseBuilder berg = null;
	if (request != null) {
		berg = request.evaluatePreconditions(etag);
	}
	if (berg == null) {
		// System.out.println("TEMP DEBUG creating a new builder");
		berg = Response.ok();
		if (includeEtag) {
			berg.tag(etag);
		}
		berg.type(MediaType.APPLICATION_JSON_TYPE);
		berg.entity(jsonEntity);
		if (lastMod != null) {
			berg.lastModified(lastMod);
		}
		CacheControl cc = new CacheControl();
		cc.setMustRevalidate(true);
		cc.setPrivate(true);
		cc.setMaxAge(86400);
		cc.setNoTransform(true);
		berg.cacheControl(cc);
	}
	return berg;
}
 
/**
 * @see javax.ws.rs.ext.ExceptionMapper#toResponse(java.lang.Throwable)
 */
@Override
public Response toResponse(ApiValidationException data) {
    ApiError error = new ApiError();
    error.setErrorType(data.getClass().getSimpleName());
    error.setMessage(data.getMessage());
    error.setTrace(getStackTrace(data));
    ResponseBuilder builder = Response.status(400).header("X-API-Error", "true"); //$NON-NLS-1$ //$NON-NLS-2$
    builder.type(MediaType.APPLICATION_JSON_TYPE);
    return builder.entity(error).build();
}
 
源代码11 项目: apicurio-studio   文件: ServerErrorMapper.java
/**
 * @see javax.ws.rs.ext.ExceptionMapper#toResponse(java.lang.Throwable)
 */
@Override
public Response toResponse(ServerError data) {
    ApiError error = new ApiError();
    error.setErrorType(data.getClass().getSimpleName());
    error.setMessage(data.getMessage());
    error.setTrace(getStackTrace(data));
    ResponseBuilder builder = Response.status(500).header("X-API-Error", "true"); //$NON-NLS-1$ //$NON-NLS-2$
    builder.type(MediaType.APPLICATION_JSON_TYPE);
    return builder.entity(error).build();
}
 
源代码12 项目: apiman   文件: RestExceptionMapper.java
/**
 * @see javax.ws.rs.ext.ExceptionMapper#toResponse(java.lang.Throwable)
 */
@Override
public Response toResponse(AbstractRestException data) {
    ErrorBean error = new ErrorBean();
    error.setType(data.getClass().getSimpleName());
    error.setErrorCode(data.getErrorCode());
    error.setMessage(data.getMessage());
    error.setMoreInfoUrl(data.getMoreInfoUrl());
    error.setStacktrace(getStackTrace(data));
    ResponseBuilder builder = Response.status(data.getHttpCode()).header("X-Apiman-Error", "true"); //$NON-NLS-1$ //$NON-NLS-2$
    // If CORS is being used, make sure to add X-Apiman-Error to the exposed headers
    builder.type(MediaType.APPLICATION_JSON_TYPE);
    return builder.entity(error).build();
}
 
源代码13 项目: XPagesExtensionLibrary   文件: ErrorHelper.java
public static Response createErrorResponse(String message, Response.Status status, Map<String, Object> extraProps) {
    DAS_LOGGER.traceEntry("", "createErrorResponse");  //$NON-NLS-1$ $NON-NLS-2$
    ResponseBuilder builder = Response.status(status);
    builder.type(MediaType.APPLICATION_JSON);
    String jsonEntity = null;
    StringWriter writer = new StringWriter();
    Boolean compact = false;
    JsonWriter jWriter = new JsonWriter(writer, compact);
    
    try {
        try {
            jWriter.startObject();
            writeProperty(jWriter, ATTR_CODE, status.getStatusCode());
            writeProperty(jWriter, ATTR_TEXT, status.getReasonPhrase());
            
            // Write extra properties
            
            writeExtraProperties(jWriter, extraProps);
            
            // Write message
            
            if  (message != null)
                writeProperty(jWriter, "message", message); // $NON-NLS-1$
        } 
        finally {
            jWriter.endObject();
        }
        StringBuffer buffer = writer.getBuffer();
        jsonEntity = buffer.toString();
        builder.entity(jsonEntity);
    }
    catch (IOException ex) {
        DAS_LOGGER.warn(ex, "Error creating response.");  //$NON-NLS-1$
    }
    Response response = builder.build();
    DAS_LOGGER.traceExit("", "createErrorResponse", response); //$NON-NLS-1$ $NON-NLS-2$
    
    return response;
}
 
源代码14 项目: XPagesExtensionLibrary   文件: ErrorHelper.java
public static Response createErrorResponse(Exception e, Response.Status status, Map<String, Object> extraProps) {
    
    DAS_LOGGER.traceEntry("", "createErrorResponse");  //$NON-NLS-1$ $NON-NLS-2$
    ResponseBuilder builder = Response.status(status);
    builder.type(MediaType.APPLICATION_JSON);
    String jsonEntity = null;
    StringWriter writer = new StringWriter();
    Boolean compact = false;
    JsonWriter jWriter = new JsonWriter(writer, compact);
    
    try {
        try {
            jWriter.startObject();
            writeProperty(jWriter, ATTR_CODE, status.getStatusCode());
            writeProperty(jWriter, ATTR_TEXT, status.getReasonPhrase());
            
            // Write extra properties
            
            writeExtraProperties(jWriter, extraProps);
            
            // Write the exception
            
            writeException(jWriter, e);
        } 
        finally {
            jWriter.endObject();
        }
        StringBuffer buffer = writer.getBuffer();
        jsonEntity = buffer.toString();
        builder.entity(jsonEntity);
    }
    catch (IOException ex) {
        DAS_LOGGER.warn(ex, "Error creating response."); // $NLW-ErrorHelper.ErrorCreatingResponse-1$
    }
    Response response = builder.build();
    DAS_LOGGER.traceExit("", "createErrorResponse", response); //$NON-NLS-1$ $NON-NLS-2$
    
    return response;
}
 
源代码15 项目: core   文件: StandardParameters.java
/**
 * For creating a Response of a single object of the appropriate media type.
 * 
 * @param object
 *            Object to be returned in XML or JSON
 * @return The created response in the proper media type.
 */
public Response createResponse(Object object) {
	// Start building the response
	ResponseBuilder responseBuilder = Response.ok(object);

	// Since this is a truly open API intended to be used by
	// other web pages allow cross-origin requests.
	responseBuilder.header("Access-Control-Allow-Origin", "*");

	// Specify media type of XML or JSON
	responseBuilder.type(getMediaType());

	// Return the response
	return responseBuilder.build();
}
 
源代码16 项目: cxf   文件: DynamicRegistrationService.java
private void reportInvalidRequestError(OAuthError entity, MediaType mt) {
    ResponseBuilder rb = JAXRSUtils.toResponseBuilder(400);
    if (mt != null) {
        rb.type(mt);
    }
    throw ExceptionUtils.toBadRequestException(null, rb.entity(entity).build());
}
 
源代码17 项目: cxf   文件: AbstractOAuthService.java
protected void reportInvalidRequestError(OAuthError entity, MediaType mt) {
    ResponseBuilder rb = JAXRSUtils.toResponseBuilder(400);
    if (mt != null) {
        rb.type(mt);
    }
    throw ExceptionUtils.toBadRequestException(null, rb.entity(entity).build());
}
 
源代码18 项目: cxf   文件: SwaggerUiService.java
@GET
@Path("{resource:.*}")
public Response getResource(@Context UriInfo uriInfo, @PathParam("resource") String resourcePath) {
    if (resourcePath.contains(FAVICON)) {
        return Response.status(404).build();
    }
    
    try {
        final URL resourceURL = locator.locate(resourcePath);
        final String path = resourceURL.getPath();
        
        String mediaType = null;
        int ind = path.lastIndexOf('.');
        if (ind != -1 && ind < path.length()) {
            String resourceExt = path.substring(ind + 1);
            if (mediaTypes != null && mediaTypes.containsKey(resourceExt)) {
                mediaType = mediaTypes.get(resourceExt);
            } else {
                mediaType = DEFAULT_MEDIA_TYPES.get(resourceExt);
            }
        }

        // If there are no query parameters and Swagger UI configuration is
        // provided, let us do temporary redirect with the Swagger UI configuration
        // wrapped into the query string. For example, the request to
        //
        //    http://localhost:8080/services/helloservice/api-docs
        //
        // might be redirect to
        //
        //    http://localhost:8080/services/helloservice/api-docs?url=/services/helloservice/openapi.json
        //
        // in case the "url" configuration parameter is provided for Swagger UI.
        if (config != null && uriInfo.getQueryParameters().isEmpty() && path.endsWith("/index.html")) {
            final Map<String, String> params = config.getConfigParameters();
            
            if (params != null && !params.isEmpty()) {
                final UriBuilder builder = params
                    .entrySet()
                    .stream()
                    .reduce(
                        uriInfo.getRequestUriBuilder(), 
                        (b, e) -> b.queryParam(e.getKey(), e.getValue()),
                        (left, right) -> left
                    );
                return Response.temporaryRedirect(builder.build()).build();
            }
        }
        
        ResponseBuilder rb = Response.ok(resourceURL.openStream());
        if (mediaType != null) {
            rb.type(mediaType);
        }
        return rb.build();
    } catch (IOException ex) {
        throw new NotFoundException(ex);
    }
}
 
源代码19 项目: cxf   文件: AbstractClient.java
protected ResponseBuilder setResponseBuilder(Message outMessage, Exchange exchange) throws Exception {
    Response response = exchange.get(Response.class);
    if (response != null) {
        outMessage.getExchange().getInMessage().put(Message.PROTOCOL_HEADERS, response.getStringHeaders());
        return JAXRSUtils.fromResponse(JAXRSUtils.copyResponseIfNeeded(response));
    }

    Integer status = getResponseCode(exchange);
    ResponseBuilder currentResponseBuilder = JAXRSUtils.toResponseBuilder(status);

    Message responseMessage = exchange.getInMessage() != null
        ? exchange.getInMessage() : exchange.getInFaultMessage();
    // if there is no response message, we just send the response back directly
    if (responseMessage == null) {
        return currentResponseBuilder;
    }

    Map<String, List<Object>> protocolHeaders =
        CastUtils.cast((Map<?, ?>)responseMessage.get(Message.PROTOCOL_HEADERS));

    boolean splitHeaders = MessageUtils.getContextualBoolean(outMessage, HEADER_SPLIT_PROPERTY);
    for (Map.Entry<String, List<Object>> entry : protocolHeaders.entrySet()) {
        if (null == entry.getKey()) {
            continue;
        }
        if (entry.getValue().size() > 0) {
            if (HttpUtils.isDateRelatedHeader(entry.getKey())) {
                currentResponseBuilder.header(entry.getKey(), entry.getValue().get(0));
                continue;
            }
            entry.getValue().forEach(valObject -> {
                if (splitHeaders && valObject instanceof String) {
                    String val = (String) valObject;
                    final String[] values;
                    if (val.isEmpty()) {
                        values = new String[]{""};
                    } else if (val.charAt(0) == '"' && val.charAt(val.length() - 1) == '"') {
                        // if the value starts with a quote and ends with a quote, we do a best
                        // effort attempt to determine what the individual values are.
                        values = parseQuotedHeaderValue(val);
                    } else {
                        boolean splitPossible = !(HttpHeaders.SET_COOKIE.equalsIgnoreCase(entry.getKey())
                                && val.toUpperCase().contains(HttpHeaders.EXPIRES.toUpperCase()));
                        values = splitPossible ? val.split(",") : new String[]{val};
                    }
                    for (String s : values) {
                        String theValue = s.trim();
                        if (!theValue.isEmpty()) {
                            currentResponseBuilder.header(entry.getKey(), theValue);
                        }
                    }
                } else {
                    currentResponseBuilder.header(entry.getKey(), valObject);
                }
            });
        }
    }
    String ct = (String)responseMessage.get(Message.CONTENT_TYPE);
    if (ct != null) {
        currentResponseBuilder.type(ct);
    }
    InputStream mStream = responseMessage.getContent(InputStream.class);
    currentResponseBuilder.entity(mStream);

    return currentResponseBuilder;
}
 
protected Response buildResponse(Object entity, String mediaType, Status status) {
    ResponseBuilder builder = Response.status(status).entity(entity);
    builder.type(MediaType.TEXT_PLAIN);
    builder.header(Validation.VALIDATION_HEADER, "true");
    return builder.build();
}