public static void publishStatus(long channelId, int sequence, int status, Pipe<ServerResponseSchema> localOutput) { int channelIdHigh = (int)(channelId>>32); int channelIdLow = (int)channelId; publishStatus(sequence, status, channelIdHigh, channelIdLow, localOutput); }
@Override public void timeout(Pipe<ServerResponseSchema> output) { HTTPUtil.publishStatus(channelId, sequence, 404, output); }
private void publishErrorHeader(int httpRevision, int requestContext, int sequence, Exception e, Pipe<HTTPRequestSchema> input, Pipe<ServerResponseSchema> output) { if (null != e) { logger.error("Unable to read file for sending.",e); } //Informational 1XX, Successful 2XX, Redirection 3XX, Client Error 4XX and Server Error 5XX. int errorStatus = null==e? 400:500; HTTPUtil.publishStatus(sequence, errorStatus, activeChannelHigh, activeChannelLow, output); Pipe.confirmLowLevelRead(input, activeReadMessageSize); Pipe.releaseReadLock(input); }
private boolean sendError(final long channel, final int idx, int errorCode) { boolean sent = false; if (Pipe.hasRoomForWrite(errorResponsePipe)) { //will close connection as soon as error is returned. HTTPUtil.publishStatus(channel, sequences[idx], errorCode, errorResponsePipe); sequences[idx]++; sent = true; } sendRelease(channel, idx); return sent; }
private void publishErrorHeader(int requestContext, int sequence, int code, Pipe<HTTPRequestSchema> input, Pipe<ServerResponseSchema> output) { HTTPUtil.publishStatus(sequence, code, activeChannelHigh, activeChannelLow, output); Pipe.confirmLowLevelRead(input, activeReadMessageSize); Pipe.releaseReadLock(input); }
private void process(Pipe<HTTPRequestSchema> input, Pipe<ServerResponseSchema> output) { while (Pipe.hasContentToRead(input)) { int msgIdx = Pipe.takeMsgIdx(input); switch(msgIdx) { case HTTPRequestSchema.MSG_RESTREQUEST_300: System.err.println("dummy rest request"); long fieldChannelId = Pipe.takeLong(input); int fieldSequence = Pipe.takeInt(input); int fieldVerb = Pipe.takeInt(input); DataInputBlobReader<HTTPRequestSchema> data = Pipe.openInputStream(input); int fieldRevision = Pipe.takeInt(input); int fieldRequestContext = Pipe.takeInt(input); HTTPUtil.publishStatus(fieldChannelId, fieldSequence, 501, output); Pipe.confirmLowLevelRead(input, Pipe.sizeOf(input, msgIdx)); Pipe.releaseReadLock(input); break; case -1: Pipe.publishEOF(output); break; } PipeReader.releaseReadLock(input); } }
(HTTPVerbDefaults)httpSpec.verbs[fieldVerb])) { HTTPUtil.publishStatus(activeChannelId, activeSequenceNo, 404, output);
HTTPUtil.publishStatus(activeConnectionId, activeSequenceId, 200, output);
|| (!isExpectedOrigin) ) { HTTPUtil.publishStatus(fieldChannelId, fieldSequence, 404, output); } else { writeResponse(output, fieldChannelId, fieldSequence, routeId
HTTPUtil.publishStatus(channelId, sequenceNum, 400, err); } else {