<commit_before><!DOCTYPE html>
<html>

<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>Hemera</title>
	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
	<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
	<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
	<link rel="stylesheet" href="scripts/highlight/styles/github-gist.css">
	<link rel="stylesheet" href="stylesheets/styles.css">
</head>

<body>

	<!-- BEGIN NAVIGATION BAR -->
	<nav class="navbar navbar-default navbar-fixed-top">
		<div class="container">
			<div class="navbar-header">
				<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"
				    aria-controls="navbar">
				<span class="sr-only">Toggle navigation</span>
				<span class="icon-bar"></span>
				<span class="icon-bar"></span>
				<span class="icon-bar"></span>
			</button>
				<a class="navbar-brand" href="https://github.com/hemerajs/hemera/docs"><img src="images/logo.png" width="32px" height="36px"></a>
			</div>
			<div id="navbar" class="navbar-collapse collapse">
				<ul class="nav navbar-nav navbar-right">
					<li class="active"><a href="index.html">Hemera</a></li>
					<li><a href="https://github.com/hemera/hemerajs">GitHub</a></li>
				</ul>
			</div>
			<!--/.nav-collapse -->
		</div>
	</nav>
	<!-- END NAVIGATION BAR -->

	<div class="container body-container">
		<div class="main-content">
			<div class="row">

				<!-- BEGIN SIDEBAR -->
				<div class="col-sm-3 border-right section-left">
					<div saveheight="1" class="sidebar-nav">
						<h4>INTRODUCTION</h4>
						<ul>
							<li><a href="index.html" class="active"><span>Introduction</span></a></li>
							<li><a href="getting-started.html"><span>Getting Started</span></a></li>
							<li><a href="packages.html"><span>Packages</span></a></li>
						</ul>

						<h4>1. Basics</h4>
						<ul>
							<li><a href="1_request_reply.html"><span>Request & Reply</span></a></li>
							<li><a href="1_pattern_matching.html"><span>Pattern matching</span></a></li>
							<li><a href="1_pub_sub.html"><span>Publish & Subscribe</span></a></li>
							<li><a href="1_payload_validation.html"><span>Payload validation</span></a></li>
							<li><a href="1_middleware.html"><span>Middleware</span></a></li>
							<li><a href="1_extension_points.html"><span>Extension Points</span></a></li>
							<li><a href="1_logging.html"><span>Logging</span></a></li>
							<li><a href="1_plugins.html"><span>Plugins</span></a></li>
							<li><a href="1_metadata.html"><span>Metadata</span></a></li>
							<li><a href="1_context.html"><span>Context</span></a></li>
							<li><a href="1_delegate.html"><span>Delegate</span></a></li>
						</ul>

						<h4>2. ERROR HANDLING</h4>
						<ul>
							<li><a href="2_reply.html"><span>Reply an error</span></a></li>
							<li><a href="2_error_first_callbacks.html"><span>Error-first-callbacks</span></a></li>
							<li><a href="2_timeout_errors.html"><span>Timeout errors</span></a></li>
							<li><a href="2_fatal_errors.html"><span>Fatal errors</span></a></li>
							<li><a href="2_error_propagation.html"><span>Error propagation</span></a></li>
							<li><a href="2_transport_errors.html"><span>Listen on transport errors</span></a></li>
							<li><a href="2_response_errros.html"><span>Listen on response errors</span></a></li>
							<li><a href="2_custom_timeout.html"><span>Custom timeout per Act</span></a></li>
						</ul>

						<h4>3. TRACING</h4>
						<ul>
							<li><a href="3_life_cycle_events.html"><span>Life-cycle events</span></a></li>
						</ul>

						<h4>4. Internals</h4>
						<ul>
							<li><a href="4_overview.html"><span>Protocol</span></a></li>
						</ul>

						<h4>5. ADVANCED</h4>
						<ul>
							<li><a href="5_clustering.html"><span>Clustering</span></a></li>
							<li><a href="5_api_versioning.html"><span>API Versioning</span></a></li>
							<li><a href="5_nats_limits.html"><span>Nats limits & features</span></a></li>
							<li><a href="5_unit-test.html"><span>Unit test</span></a></li>
							<li><a href="5_bridge.html"><span>Bridge to other messaging systems</span></a></li>
							<li><a href="5_nginx_integration_for_nats.html"><span>Nginx integration for NATS</span></a></li>
							<li><a href="5_contributing.html"><span>Contributing</span></a></li>
						</ul>

						<h4>6. TOOLING</h4>
						<ul>
							<li><a href="6_monitoring.html"><span>Monitoring</span></a></li>
							<li><a href="6_cli.html"><span>CLI</span></a></li>
						</ul>
						<h4>7. BEST PRACTICE</h4>
						<ul>
							<li><a href="7_docker.html"><span>Docker</span></a></li>
						</ul>

					</div>
				</div>
				<!-- END SIDEBAR -->

				<!-- BEGIN CONTENT -->
				<div class="col-sm-9 border-left section-right">
					<h1 class="section-header">Introduction</h1>
					<hr>

					<p class="section-content">
						<img class="section-image" src="images/logo-hemera.png" height="86px">
						<strong>Hemera</strong> is a small wrapper around the NATS driver. We want to provide a toolkit to develop micro services
						in an easy and powerful way. We use bloom filters to provide a pattern matching RPC style. You don't have to worry
						about the transport. NATS is powerful.<br><br> A <strong>Hemera</strong> instance doesn't care about where your services
						lives. You can start your service as many as you want on different hosts to ensure maximal availability. The only dependency
						you have is a single binary of 7MB. Mind your own business NATS do the rest for you: <br><br>
						<strong>NATS</strong> Server is a simple, high performance open source messaging system for cloud native applications,
						IoT messaging, and microservices architectures. Companies like Ericsson, HTC, Siemens, VMware, Pivotal, GE and Baidu
						rely on the NATS enterprise messaging system. <br><br>
						<h4 class="section-header">Features</h4>
						<ul>
							<li><strong>Lightweight</strong>: The Hemera core is small as possible and can be extended by extensions or plugins.</li>
							<li><strong>Location transparency</strong>: A service may be instantiated in different locations at different times. An
								application interacting with an service and does not know the service physical location.</li>
							<li><strong>Service Discovery</strong>: You don't need a service discovery all subscriptions are managed by NATS.</li>
							<li><strong>Load Balancing</strong>: Requests are load balanced (random) by NATS mechanism of "queue groups".</li>
							<li><strong>Packages</strong>: Providing reliable and modern plugins to the community.</li>
							<li><strong>High performant</strong>: NATS is able to handle million of requests per second.</li>
							<li><strong>Scalability</strong>: Filtering on the subject name enables services to divide work (perhaps with locality).</li>
							<li><strong>Fault tolerance</strong>: Auto-heals when new services are added. Configure cluster mode to be more reliable.</li>
							<li><strong>Auto-pruning</strong>: NATS automatically handles a slow consumer and cut it off.</li>
							<li><strong>Pattern driven</strong>: Define the signatures of your RPC's in JSON and use the flexibility of pattern-matching.</li>
							<li><strong>PubSub</strong>: Hemera supports all features of NATS. This includes wildcards in subjects and normal publish
								and fanout mechanism.</li>
							<li><strong>Tracing</strong>: Any distributed system need good tracing capabilities. We provide support for Zipkin a tracing
								system which manages both the collection and lookup of this data.</li>
							<li><strong>Monitoring</strong>: Your NATS server can be monitored by cli or a dashboard.</li>
							<li><strong>Payload validation</strong>: Create your own validator or use existing plugins for Joi and Parambulator.</li>
							<li><strong>Serialization</strong>: Use JSON, Msgpack or Avro to serialize your data (dynamic or static).</li>
							<li><strong>Metadata</strong>: Transfer metadata across services or attach contextual data to tracing systems.</li>
							<li><strong>Dependencies</strong>: NATS is a single binary of 7MB and can be deployed in seconds.</li>
						</ul>
					</p>
				</div>
				<!-- END CONTENT -->

			</div>
			<!-- /row -->
		</div>
		<!-- /main-content -->
	</div>
	<!-- /container -->

	<!-- BEGIN FOOTER -->
	<footer class="navbar-fixed-bottom">
		<div class="container footer">
			<p>
			</p>
		</div>
	</footer>
	<!-- END FOOTER -->

	<!-- Bootstrap JS -->
	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

	<!-- Highlights JS -->
	<script src="scripts/highlight/highlight.min.js"></script>
	<script>
		hljs.initHighlightingOnLoad();
	</script>

</body>

</html><commit_msg>update docu<commit_after><!DOCTYPE html>
<html>

<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>Hemera</title>
	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
	<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
	<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,800">
	<link rel="stylesheet" href="scripts/highlight/styles/github-gist.css">
	<link rel="stylesheet" href="stylesheets/styles.css">
</head>

<body>

	<!-- BEGIN NAVIGATION BAR -->
	<nav class="navbar navbar-default navbar-fixed-top">
		<div class="container">
			<div class="navbar-header">
				<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false"
				    aria-controls="navbar">
				<span class="sr-only">Toggle navigation</span>
				<span class="icon-bar"></span>
				<span class="icon-bar"></span>
				<span class="icon-bar"></span>
			</button>
				<a class="navbar-brand" href="https://github.com/hemerajs/hemera/docs"><img src="images/logo.png" width="32px" height="36px"></a>
			</div>
			<div id="navbar" class="navbar-collapse collapse">
				<ul class="nav navbar-nav navbar-right">
					<li class="active"><a href="index.html">Hemera</a></li>
					<li><a href="https://github.com/hemera/hemerajs">GitHub</a></li>
				</ul>
			</div>
			<!--/.nav-collapse -->
		</div>
	</nav>
	<!-- END NAVIGATION BAR -->

	<div class="container body-container">
		<div class="main-content">
			<div class="row">

				<!-- BEGIN SIDEBAR -->
				<div class="col-sm-3 border-right section-left">
					<div saveheight="1" class="sidebar-nav">
						<h4>INTRODUCTION</h4>
						<ul>
							<li><a href="index.html" class="active"><span>Introduction</span></a></li>
							<li><a href="getting-started.html"><span>Getting Started</span></a></li>
							<li><a href="packages.html"><span>Packages</span></a></li>
						</ul>

						<h4>1. Basics</h4>
						<ul>
							<li><a href="1_request_reply.html"><span>Request & Reply</span></a></li>
							<li><a href="1_pattern_matching.html"><span>Pattern matching</span></a></li>
							<li><a href="1_pub_sub.html"><span>Publish & Subscribe</span></a></li>
							<li><a href="1_payload_validation.html"><span>Payload validation</span></a></li>
							<li><a href="1_middleware.html"><span>Middleware</span></a></li>
							<li><a href="1_extension_points.html"><span>Extension Points</span></a></li>
							<li><a href="1_logging.html"><span>Logging</span></a></li>
							<li><a href="1_plugins.html"><span>Plugins</span></a></li>
							<li><a href="1_metadata.html"><span>Metadata</span></a></li>
							<li><a href="1_context.html"><span>Context</span></a></li>
							<li><a href="1_delegate.html"><span>Delegate</span></a></li>
						</ul>

						<h4>2. ERROR HANDLING</h4>
						<ul>
							<li><a href="2_reply.html"><span>Reply an error</span></a></li>
							<li><a href="2_error_first_callbacks.html"><span>Error-first-callbacks</span></a></li>
							<li><a href="2_timeout_errors.html"><span>Timeout errors</span></a></li>
							<li><a href="2_fatal_errors.html"><span>Fatal errors</span></a></li>
							<li><a href="2_error_propagation.html"><span>Error propagation</span></a></li>
							<li><a href="2_transport_errors.html"><span>Listen on transport errors</span></a></li>
							<li><a href="2_response_errros.html"><span>Listen on response errors</span></a></li>
							<li><a href="2_custom_timeout.html"><span>Custom timeout per Act</span></a></li>
						</ul>

						<h4>3. TRACING</h4>
						<ul>
							<li><a href="3_life_cycle_events.html"><span>Life-cycle events</span></a></li>
						</ul>

						<h4>4. Internals</h4>
						<ul>
							<li><a href="4_overview.html"><span>Protocol</span></a></li>
						</ul>

						<h4>5. ADVANCED</h4>
						<ul>
							<li><a href="5_clustering.html"><span>Clustering</span></a></li>
							<li><a href="5_api_versioning.html"><span>API Versioning</span></a></li>
							<li><a href="5_nats_limits.html"><span>Nats limits & features</span></a></li>
							<li><a href="5_unit-test.html"><span>Unit test</span></a></li>
							<li><a href="5_bridge.html"><span>Bridge to other messaging systems</span></a></li>
							<li><a href="5_nginx_integration_for_nats.html"><span>Nginx integration for NATS</span></a></li>
							<li><a href="5_contributing.html"><span>Contributing</span></a></li>
						</ul>

						<h4>6. TOOLING</h4>
						<ul>
							<li><a href="6_monitoring.html"><span>Monitoring</span></a></li>
							<li><a href="6_cli.html"><span>CLI</span></a></li>
						</ul>
						<h4>7. BEST PRACTICE</h4>
						<ul>
							<li><a href="7_docker.html"><span>Docker</span></a></li>
						</ul>

					</div>
				</div>
				<!-- END SIDEBAR -->

				<!-- BEGIN CONTENT -->
				<div class="col-sm-9 border-left section-right">
					<h1 class="section-header">Introduction</h1>
					<hr>

					<p class="section-content">
						<img class="section-image" src="images/logo-hemera.png" height="86px">
						<strong>Hemera</strong> is a small wrapper around the NATS driver. We want to provide a toolkit to develop micro services
						in an easy and powerful way. We use bloom filters to provide a pattern matching RPC style. You don't have to worry
						about the transport. NATS is powerful.<br><br> A <strong>Hemera</strong> instance doesn't care about where the other services
						lives. You can start your service as many as you want on different hosts to ensure maximal availability. The only dependency
						you have is a single binary of 7MB. Mind your own business NATS do the rest for you: <br><br>
						<strong>NATS</strong> Server is a simple, high performance open source messaging system for cloud native applications,
						IoT messaging, and microservices architectures. Companies like Ericsson, HTC, Siemens, VMware, Pivotal, GE and Baidu
						rely on the NATS enterprise messaging system. <br><br>
						<h4 class="section-header">Features</h4><br>
						<ul>
							<li><strong>Lightweight</strong>: The Hemera core is small as possible and can be extended by extensions or plugins.</li>
							<li><strong>Location transparency</strong>: A service may be instantiated in different locations at different times. An
								application interacting with an service and does not know the service physical location.</li>
							<li><strong>Service Discovery</strong>: You don't need a service discovery all subscriptions are managed by NATS.</li>
							<li><strong>Load Balancing</strong>: Requests are load balanced (random) by NATS mechanism of "queue groups".</li>
							<li><strong>Packages</strong>: Providing reliable and modern plugins to the community.</li>
							<li><strong>High performant</strong>: NATS is able to handle million of requests per second.</li>
							<li><strong>Scalability</strong>: Filtering on the subject name enables services to divide work (perhaps with locality).</li>
							<li><strong>Fault tolerance</strong>: Auto-heals when new services are added. Configure cluster mode to be more reliable.</li>
							<li><strong>Auto-pruning</strong>: NATS automatically handles a slow consumer and cut it off.</li>
							<li><strong>Pattern driven</strong>: Define the signatures of your RPC's in JSON and use the flexibility of pattern-matching.</li>
							<li><strong>PubSub</strong>: Hemera supports all features of NATS. This includes wildcards in subjects and normal publish
								and fanout mechanism.</li>
							<li><strong>Tracing</strong>: Any distributed system need good tracing capabilities. We provide support for Zipkin a tracing
								system which manages both the collection and lookup of this data.</li>
							<li><strong>Monitoring</strong>: Your NATS server can be monitored by cli or a dashboard.</li>
							<li><strong>Payload validation</strong>: Create your own validator or use existing plugins for Joi and Parambulator.</li>
							<li><strong>Serialization</strong>: Use JSON, Msgpack or Avro to serialize your data (dynamic or static).</li>
							<li><strong>Metadata</strong>: Transfer metadata across services or attach contextual data to tracing systems.</li>
							<li><strong>Dependencies</strong>: NATS is a single binary of 7MB and can be deployed in seconds.</li>
						</ul>
					</p>
				</div>
				<!-- END CONTENT -->

			</div>
			<!-- /row -->
		</div>
		<!-- /main-content -->
	</div>
	<!-- /container -->

	<!-- BEGIN FOOTER -->
	<footer class="navbar-fixed-bottom">
		<div class="container footer">
			<p>
			</p>
		</div>
	</footer>
	<!-- END FOOTER -->

	<!-- Bootstrap JS -->
	<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

	<!-- Highlights JS -->
	<script src="scripts/highlight/highlight.min.js"></script>
	<script>
		hljs.initHighlightingOnLoad();
	</script>

</body>

</html>
{'fraction_non_alphanumeric': 0.1802200232185306, 'fraction_numerical': 0.010282492122284262, 'mean_word_length': 3.580906558622436, 'pattern_counts': {'":': 0, '<': 830, '<?xml version=': 0, '>': 830, 'https://': 14, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '57661', 'n_tokens_mistral': 7219, 'n_tokens_neox': 5750, 'n_words': 1373}