- if ($fBucketVal > CONST_ConnectionBucket_WaitLimit && $fBucketVal < CONST_ConnectionBucket_BlockLimit)
- {
- $m = getBucketMemcache();
- $iCurrentSleeping = $m->increment('sleepCounter');
- if (false === $iCurrentSleeping)
- {
- $m->add('sleepCounter', 0);
- $iCurrentSleeping = $m->increment('sleepCounter');
- }
- if ($iCurrentSleeping >= CONST_ConnectionBucket_MaxSleeping || isBucketSleeping($aBucketKeys))
- {
- // Too many threads sleeping already. This becomes a hard block.
- $fBucketVal = doBucket($aBucketKeys, CONST_ConnectionBucket_BlockLimit, CONST_ConnectionBucket_LeakRate, CONST_ConnectionBucket_BlockLimit);
- }
- else
- {
- setBucketSleeping($aBucketKeys, true);
- sleep(($fBucketVal - CONST_ConnectionBucket_WaitLimit)/CONST_ConnectionBucket_LeakRate);
- $fBucketVal = doBucket($aBucketKeys, CONST_ConnectionBucket_LeakRate, CONST_ConnectionBucket_LeakRate, CONST_ConnectionBucket_BlockLimit);
- setBucketSleeping($aBucketKeys, false);
- }
- $m->decrement('sleepCounter');
- }
+function exception_handler_json($exception)
+{
+ http_response_code($exception->getCode());
+ header('Content-type: application/json; charset=utf-8');
+ include(CONST_BasePath.'/lib/template/error-json.php');
+}