# $Id$

# language 

# package org.apache.coyote.http11

#
# Http11Protocol
#

http11protocol.endpoint.initerror=Error initializing endpoint
http11protocol.endpoint.starterror=Error starting endpoint
http11protocol.init=Initializing Coyote HTTP/1.1 on {0}
http11protocol.proto.error=Error reading request, ignored
http11protocol.proto.ioexception.debug=IOException reading request
http11protocol.proto.ioexception.info=IOException reading request, ignored
http11protocol.proto.socketexception.debug=SocketException reading request
http11protocol.proto.socketexception.info=SocketException reading request, ignored
http11protocol.getattribute=Attribute {0}
http11protocol.setattribute=Attribute {0}: {1}
http11protocol.socketfactory.initerror=Error initializing socket factory
http11protocol.start=Starting Coyote HTTP/1.1 on {0}
http11protocol.stop=Stopping Coyote HTTP/1.1 on {0}
http11protocol.pause=Pausing Coyote HTTP/1.1 on {0}
http11protocol.endpoint.pauseerror=Error pausing endpoint
http11protocol.resume=Resuming Coyote HTTP/1.1 on {0}
http11protocol.endpoint.resumeerror=Error resuming endpoint

#
# Http11Processor
#

http11processor.regexp.error=Error parsing regular expression {0}
http11processor.filter.unknown=Unknown filter {0}
http11processor.filter.error=Error intializing filter {0}
http11processor.header.parse=Error parsing HTTP request header
http11processor.request.prepare=Error preparing request
http11processor.request.process=Error processing request
http11processor.request.finish=Error finishing request
http11processor.response.finish=Error finishing response
http11processor.socket.info=Exception getting socket information
http11processor.socket.ssl=Exception getting SSL attributes
http11processor.socket.timeout=Error setting socket timeout

#
# InternalInputBuffer
#

iib.eof.error=Unexpected EOF read on the socket
iib.failedread=Exception filling buffer with data from underlying input stream: not an EAGAIN status, so perhaps disconnected client?
iib.requestheadertoolarge.error=Request header is too large

