{
	"connector": {
		"class": "org.apache.camel.kafkaconnector.atmospherewebsocket.CamelAtmospherewebsocketSinkConnector",
		"artifactId": "camel-atmosphere-websocket-kafka-connector",
		"groupId": "org.apache.camel.kafkaconnector",
		"id": "camel-atmosphere-websocket-sink",
		"type": "sink",
		"version": "0.9.0",
		"description": "Expose WebSocket endpoints using the Atmosphere framework."
	},
	"properties": {
		"camel.sink.path.servicePath": {
			"name": "camel.sink.path.servicePath",
			"description": "Name of websocket endpoint",
			"priority": "HIGH",
			"required": "true"
		},
		"camel.sink.endpoint.chunked": {
			"name": "camel.sink.endpoint.chunked",
			"description": "If this option is false the Servlet will disable the HTTP streaming and set the content-length header on the response",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.disableStreamCache": {
			"name": "camel.sink.endpoint.disableStreamCache",
			"description": "Determines whether or not the raw input stream from Servlet is cached or not (Camel will read the stream into a in memory\/overflow to file, Stream caching) cache. By default Camel will cache the Servlet input stream to support reading it multiple times to ensure it Camel can retrieve all data from the stream. However you can set this option to true when you for example need to access the raw stream, such as streaming it directly to a file or other persistent store. DefaultHttpBinding will copy the request input stream into a stream cache and put it into message body if this option is false to support reading the stream multiple times. If you use Servlet to bridge\/proxy an endpoint then consider enabling this option to improve performance, in case you do not need to read the message payload multiple times. The http producer will by default cache the response body stream. If setting this option to true, then the producers will not cache the response body stream but use the response stream as-is as the message body.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.headerFilterStrategy": {
			"name": "camel.sink.endpoint.headerFilterStrategy",
			"description": "To use a custom HeaderFilterStrategy to filter header to and from Camel message.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.sendToAll": {
			"name": "camel.sink.endpoint.sendToAll",
			"description": "Whether to send to all (broadcast) or send to a single receiver.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.transferException": {
			"name": "camel.sink.endpoint.transferException",
			"description": "If enabled and an Exchange failed processing on the consumer side, and if the caused Exception was send back serialized in the response as a application\/x-java-serialized-object content type. On the producer side the exception will be deserialized and thrown as is, instead of the HttpOperationFailedException. The caused exception is required to be serialized. This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.useStreaming": {
			"name": "camel.sink.endpoint.useStreaming",
			"description": "To enable streaming to send data as multiple text fragments.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.httpBinding": {
			"name": "camel.sink.endpoint.httpBinding",
			"description": "To use a custom HttpBinding to control the mapping between Camel message and HttpClient.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.bridgeEndpoint": {
			"name": "camel.sink.endpoint.bridgeEndpoint",
			"description": "If the option is true, HttpProducer will ignore the Exchange.HTTP_URI header, and use the endpoint's URI for request. You may also set the option throwExceptionOnFailure to be false to let the HttpProducer send all the fault response back.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.sink.endpoint.lazyStartProducer": {
			"name": "camel.sink.endpoint.lazyStartProducer",
			"description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.atmosphere-websocket.lazyStartProducer": {
			"name": "camel.component.atmosphere-websocket.lazyStartProducer",
			"description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.atmosphere-websocket.allowJavaSerializedObject": {
			"name": "camel.component.atmosphere-websocket.allowJavaSerializedObject",
			"description": "Whether to allow java serialization when a request uses context-type=application\/x-java-serialized-object. This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk.",
			"defaultValue": "false",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.atmosphere-websocket.autowiredEnabled": {
			"name": "camel.component.atmosphere-websocket.autowiredEnabled",
			"description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc.",
			"defaultValue": "true",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.atmosphere-websocket.httpBinding": {
			"name": "camel.component.atmosphere-websocket.httpBinding",
			"description": "To use a custom HttpBinding to control the mapping between Camel message and HttpClient.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.atmosphere-websocket.httpConfiguration": {
			"name": "camel.component.atmosphere-websocket.httpConfiguration",
			"description": "To use the shared HttpConfiguration as base configuration.",
			"priority": "MEDIUM",
			"required": "false"
		},
		"camel.component.atmosphere-websocket.headerFilterStrategy": {
			"name": "camel.component.atmosphere-websocket.headerFilterStrategy",
			"description": "To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message.",
			"priority": "MEDIUM",
			"required": "false"
		}
	}
}