-
-
Save talexb/95153b422598cd499509 to your computer and use it in GitHub Desktop.
vagrant@debian:~/dev$ cat api-test1.pl | |
#!/usr/bin/env perl | |
use strict; | |
use warnings; | |
use ElasticSearch; | |
{ | |
my $es = ElasticSearch->new( servers => 'localhost:5000', no_refresh => 1 ); | |
# my $es = ElasticSearch->new( servers => 'api.metacpan.org', no_refresh => 1 ); | |
my $scroller = $es->scrolled_search( | |
query => { match_all => {} }, | |
search_type => 'scan', | |
scroll => '5m', | |
index => 'v0', | |
type => 'author', | |
size => 15, | |
); | |
my $max = 30; | |
while ( my $result = $scroller->next ) { | |
print $result->{_source}->{author}, $/; | |
last unless ( --$max ); | |
} | |
} | |
vagrant@debian:~/dev$ perl -w api-test1.pl | |
[ERROR] ** ElasticSearch::Error::Missing at /usr/local/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/ElasticSearch/Transport/HTTP.pm line 67 : | |
Not Found (404) | |
With vars:{ | |
'request' => { | |
'qs' => { | |
'scroll' => '5m', | |
'search_type' => 'scan' | |
}, | |
'post_process' => undef, | |
'as_json' => undef, | |
'cmd' => '/v0/author/_search', | |
'method' => 'GET', | |
'data' => { | |
'query' => { | |
'match_all' => {} | |
}, | |
'size' => 15 | |
} | |
}, | |
'status_code' => 404, | |
'content' => '{ | |
"code" : 404, | |
"message" : "v0/author/_search" | |
} | |
', | |
'server' => 'localhost:5000', | |
'status_msg' => 'Not Found' | |
} | |
vagrant@debian:~/dev$ |
metacpan@debian:~/api.metacpan.org$ bin/metacpan author
2013/08/08 10:20:11 I author: Indexing 10808 authors
[ERROR] ** ElasticSearch::Error::Request at /usr/local/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/ElasticSearch/Transport/HTTPTiny.pm line 78 :
SearchPhaseExecutionException[Failed to execute phase [query], total failure; shardFailures {[na][cpan_v1][0]: No active shards}{[na][cpan_v1][1]: No active shards}{[na][cpan_v1][2]: No active shards}{[na][cpan_v1][3]: No active shards}{[na][cpan_v1][4]: No active shards}]
With vars:{
'request' => {
'qs' => {
'version' => 1
},
'cmd' => '/cpan/author/_search',
'data' => {
'query' => {
'filtered' => {
'filter' => {
'exists' => {
'field' => 'updated'
}
},
'query' => {
'match_all' => {}
}
}
},
'size' => 99999
},
'method' => 'POST'
},
'status_code' => 500,
'server' => '127.0.0.1:9200',
'status_msg' => 'Internal Server Error'
}
metacpan@debian:~/api.metacpan.org$
metacpan@debian:~/api.metacpan.org$ time bin/metacpan mapping --delete
2013/08/08 13:01:17 I mapping: Putting mapping to ElasticSearch server
[ERROR] ** ElasticSearch::Error::Timeout at /usr/local/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/ElasticSearch/Transport/HTTPTiny.pm line 78 :
Timed out while waiting for socket to become ready for reading
(599)
With vars:{
'request' => {
'qs' => {},
'cmd' => '/cpan_v1/file/_mapping',
'data' => {
'file' => {
'_source' => {
'compress' => \1
},
'dynamic' => \0,
'properties' => {
'pod' => {
'fields' => {
'analyzed' => {
'index' => 'analyzed',
'store' => 'no',
'type' => 'string',
'analyzer' => 'standard',
'term_vector' => 'with_positions_offsets'
}
},
'type' => 'multi_field'
},
'status' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'string'
},
'date' => {
'store' => 'yes',
'type' => 'date'
},
'author' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'string'
},
'maturity' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'string'
},
'directory' => {
'store' => 'yes',
'type' => 'boolean'
},
'indexed' => {
'store' => 'yes',
'type' => 'boolean'
},
'documentation' => {
'fields' => {
'analyzed' => {
'index' => 'analyzed',
'store' => 'yes',
'type' => 'string',
'analyzer' => 'standard'
},
'lowercase' => {
'index' => 'analyzed',
'store' => 'yes',
'type' => 'string',
'analyzer' => 'lowercase'
},
'documentation' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'string'
},
'camelcase' => {
'index' => 'analyzed',
'store' => 'yes',
'type' => 'string',
'analyzer' => 'camelcase'
}
},
'type' => 'multi_field'
},
'id' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'string'
},
'module' => {
'_source' => {
'compress' => $VAR1->{'request'}{'data'}{'file'}{'_source'}{'compress'}
},
'include_in_root' => \1,
'dynamic' => \0,
'type' => 'nested',
'properties' => {
'indexed' => {
'store' => 'yes',
'type' => 'boolean'
},
'authorized' => {
'store' => 'yes',
'type' => 'boolean'
},
'associated_pod' => {
'store' => 'yes',
'type' => 'string'
},
'version' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'string'
},
'name' => {
'fields' => {
'analyzed' => {
'index' => 'analyzed',
'store' => 'yes',
'type' => 'string',
'analyzer' => 'standard'
},
'lowercase' => {
'index' => 'analyzed',
'store' => 'yes',
'type' => 'string',
'analyzer' => 'lowercase'
},
'name' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'string'
},
'camelcase' => {
'index' => 'analyzed',
'store' => 'yes',
'type' => 'string',
'analyzer' => 'camelcase'
}
},
'type' => 'multi_field'
},
'version_numified' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'float'
}
}
},
'authorized' => {
'store' => 'yes',
'type' => 'boolean'
},
'pod_lines' => {
'index' => 'no',
'store' => 'yes',
'type' => 'string'
},
'version' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'string'
},
'binary' => {
'store' => 'yes',
'type' => 'boolean'
},
'name' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'string'
},
'path' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'string'
},
'release' => {
'fields' => {
'analyzed' => {
'index' => 'analyzed',
'store' => 'yes',
'type' => 'string',
'analyzer' => 'standard'
},
'lowercase' => {
'index' => 'analyzed',
'store' => 'yes',
'type' => 'string',
'analyzer' => 'lowercase'
},
'release' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'string'
},
'camelcase' => {
'index' => 'analyzed',
'store' => 'yes',
'type' => 'string',
'analyzer' => 'camelcase'
}
},
'type' => 'multi_field'
},
'version_numified' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'float'
},
'description' => {
'fields' => {
'analyzed' => {
'index' => 'analyzed',
'store' => 'yes',
'type' => 'string',
'analyzer' => 'standard'
},
'description' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'string'
}
},
'type' => 'multi_field'
},
'stat' => {
'dynamic' => \1,
'type' => 'object',
'properties' => {
'uid' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'integer'
},
'mode' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'integer'
},
'mtime' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'integer'
},
'gid' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'integer'
},
'size' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'integer'
}
}
},
'distribution' => {
'fields' => {
'analyzed' => {
'index' => 'analyzed',
'store' => 'yes',
'type' => 'string',
'analyzer' => 'standard'
},
'lowercase' => {
'index' => 'analyzed',
'store' => 'yes',
'type' => 'string',
'analyzer' => 'lowercase'
},
'camelcase' => {
'index' => 'analyzed',
'store' => 'yes',
'type' => 'string',
'analyzer' => 'camelcase'
},
'distribution' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'string'
}
},
'type' => 'multi_field'
},
'level' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'integer'
},
'sloc' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'integer'
},
'abstract' => {
'fields' => {
'analyzed' => {
'index' => 'analyzed',
'store' => 'yes',
'type' => 'string',
'analyzer' => 'standard'
},
'abstract' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'string'
}
},
'type' => 'multi_field'
},
'slop' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'integer'
},
'mime' => {
'index' => 'not_analyzed',
'store' => 'yes',
'type' => 'string'
}
}
}
},
'method' => 'PUT'
},
'status_code' => 599,
'server' => '127.0.0.1:9200',
'status_msg' => 'Timed out while waiting for socket to become ready for reading
'
}
real 1m37.881s
user 0m5.828s
sys 0m1.164s
metacpan@debian:~/api.metacpan.org$
metacpan@debian:/api.metacpan.org$ curl 127.0.0.1:9200/api.metacpan.org$
{
"ok" : true,
"status" : 200,
"name" : "Vibraxas",
"version" : {
"number" : "0.20.2",
"snapshot_build" : false
},
"tagline" : "You Know, for Search"
}metacpan@debian:
metacpan@debian:/api.metacpan.org$ curl 127.0.0.1:9200/cpan_v1/author/_mapping/api.metacpan.org$
{"author":{"dynamic":"false","_source":{"compress":true},"properties":{"asciiname":{"type":"multi_field","fields":{"asciiname":{"type":"string","index":"not_analyzed","store":"yes","omit_norms":true,"index_options":"docs"},"analyzed":{"type":"string","analyzer":"standard","store":"yes","include_in_all":false}}},"blog":{"dynamic":"true","properties":{"feed":{"type":"string","index":"not_analyzed","store":"yes","omit_norms":true,"index_options":"docs"},"url":{"type":"string","index":"not_analyzed","store":"yes","omit_norms":true,"index_options":"docs"}}},"city":{"type":"string","index":"not_analyzed","store":"yes","omit_norms":true,"index_options":"docs"},"country":{"type":"string","index":"not_analyzed","store":"yes","omit_norms":true,"index_options":"docs"},"dir":{"type":"string","index":"not_analyzed","store":"yes","omit_norms":true,"index_options":"docs"},"donation":{"dynamic":"true","properties":{"id":{"type":"string","index":"not_analyzed","store":"yes","omit_norms":true,"index_options":"docs"},"name":{"type":"string","index":"not_analyzed","store":"yes","omit_norms":true,"index_options":"docs"}}},"email":{"type":"string","index":"not_analyzed","store":"yes","omit_norms":true,"index_options":"docs"},"gravatar_url":{"type":"string","index":"not_analyzed","store":"yes","omit_norms":true,"index_options":"docs"},"location":{"type":"geo_point"},"name":{"type":"multi_field","fields":{"name":{"type":"string","index":"not_analyzed","store":"yes","omit_norms":true,"index_options":"docs"},"analyzed":{"type":"string","analyzer":"standard","store":"yes","include_in_all":false}}},"pauseid":{"type":"string","index":"not_analyzed","store":"yes","omit_norms":true,"index_options":"docs"},"perlmongers":{"dynamic":"true","properties":{"name":{"type":"string","index":"not_analyzed","store":"yes","omit_norms":true,"index_options":"docs"},"url":{"type":"string","index":"not_analyzed","store":"yes","omit_norms":true,"index_options":"docs"}}},"profile":{"type":"nested","include_in_root":true,"dynamic":"false","properties":{"id":{"type":"multi_field","fields":{"id":{"type":"string","index":"not_analyzed","store":"yes","omit_norms":true,"index_options":"docs"},"analyzed":{"type":"string","analyzer":"simple","store":"yes","include_in_all":false}}},"name":{"type":"string","index":"not_analyzed","store":"yes","omit_norms":true,"index_options":"docs"}}},"region":{"type":"string","index":"not_analyzed","store":"yes","omit_norms":true,"index_options":"docs"},"updated":{"type":"date","store":"yes","format":"dateOptionalTime"},"user":{"type":"string","index":"not_analyzed","store":"yes","omit_norms":true,"index_options":"docs"},"website":{"type":"string","index":"not_analyzed","store":"yes","omit_norms":true,"index_options":"docs"}}}}metacpan@debian:
metacpan@debian:~/api.metacpan.org$ time bin/metacpan author
2013/08/08 13:24:51 I author: Indexing 10808 authors
[ERROR] ** ElasticSearch::Error::Request at /usr/local/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/ElasticSearch/Transport/HTTPTiny.pm line 78 :
SearchPhaseExecutionException[Failed to execute phase [query], total failure; shardFailures {[na][cpan_v1][0]: No active shards}{[na][cpan_v1][1]: No active shards}{[na][cpan_v1][2]: No active shards}{[na][cpan_v1][3]: No active shards}{[na][cpan_v1][4]: No active shards}]
With vars:{
'request' => {
'qs' => {
'version' => 1
},
'cmd' => '/cpan/author/_search',
'data' => {
'query' => {
'filtered' => {
'filter' => {
'exists' => {
'field' => 'updated'
}
},
'query' => {
'match_all' => {}
}
}
},
'size' => 99999
},
'method' => 'POST'
},
'status_code' => 500,
'server' => '127.0.0.1:9200',
'status_msg' => 'Internal Server Error'
}
real 0m16.597s
user 0m12.989s
sys 0m2.416s
metacpan@debian:~/api.metacpan.org$
Caused by: org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: NativeFSLock@/var/elasticsearch/metacpan_v1/nodes/0/indices/cpan_v1/2/index/write.lock: java.io.FileNotFoundException: /var/elasticsearch/metacpan_v1/nodes/0/indices/cpan_v1/2/index/write.lock (Permission denied)
at org.apache.lucene.store.Lock.obtain(Lock.java:84)
at org.apache.lucene.index.IndexWriter.(IndexWriter.java:1098)
at org.apache.lucene.index.XIndexWriter.(XIndexWriter.java:17)
at org.elasticsearch.index.engine.robin.RobinEngine.createWriter(RobinEngine.java:1365)
at org.elasticsearch.index.engine.robin.RobinEngine.start(RobinEngine.java:250)
... 6 more
Caused by: java.io.FileNotFoundException: /var/elasticsearch/metacpan_v1/nodes/0/indices/cpan_v1/2/index/write.lock (Permission denied)
at java.io.RandomAccessFile.open(Native Method)
at java.io.RandomAccessFile.(RandomAccessFile.java:233)
at org.apache.lucene.store.NativeFSLock.obtain(NativeFSLockFactory.java:203)
at org.apache.lucene.store.Lock.obtain(Lock.java:95)
... 10 more
[2013-08-08 13:40:57,649][WARN ][cluster.action.shard ] [Vibraxas] sending failed shard for [cpan_v1][1], node[DEJRUWKhSN2NnGibct5PEA], [P], s[INITIALIZING], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[cpan_v1][1] failed recovery]; nested: EngineCreationFailureException[[cpan_v1][1] failed to create engine]; nested: LockObtainFailedException[Lock obtain timed out: NativeFSLock@/var/elasticsearch/metacpan_v1/nodes/0/indices/cpan_v1/1/index/write.lock: java.io.FileNotFoundException: /var/elasticsearch/metacpan_v1/nodes/0/indices/cpan_v1/1/index/write.lock (Permission denied)]; nested: FileNotFoundException[/var/elasticsearch/metacpan_v1/nodes/0/indices/cpan_v1/1/index/write.lock (Permission denied)]; ]]
[2013-08-08 13:40:57,649][WARN ][cluster.action.shard ] [Vibraxas] received shard failed for [cpan_v1][1], node[DEJRUWKhSN2NnGibct5PEA], [P], s[INITIALIZING], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[cpan_v1][1] failed recovery]; nested: EngineCreationFailureException[[cpan_v1][1] failed to create engine]; nested: LockObtainFailedException[Lock obtain timed out: NativeFSLock@/var/elasticsearch/metacpan_v1/nodes/0/indices/cpan_v1/1/index/write.lock: java.io.FileNotFoundException: /var/elasticsearch/metacpan_v1/nodes/0/indices/cpan_v1/1/index/write.lock (Permission denied)]; nested: FileNotFoundException[/var/elasticsearch/metacpan_v1/nodes/0/indices/cpan_v1/1/index/write.lock (Permission denied)]; ]]
[2013-08-08 13:40:57,652][WARN ][cluster.action.shard ] [Vibraxas] sending failed shard for [cpan_v1][0], node[DEJRUWKhSN2NnGibct5PEA], [P], s[INITIALIZING], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[cpan_v1][0] failed recovery]; nested: EngineCreationFailureException[[cpan_v1][0] failed to create engine]; nested: LockObtainFailedException[Lock obtain timed out: NativeFSLock@/var/elasticsearch/metacpan_v1/nodes/0/indices/cpan_v1/0/index/write.lock: java.io.FileNotFoundException: /var/elasticsearch/metacpan_v1/nodes/0/indices/cpan_v1/0/index/write.lock (Permission denied)]; nested: FileNotFoundException[/var/elasticsearch/metacpan_v1/nodes/0/indices/cpan_v1/0/index/write.lock (Permission denied)]; ]]
[2013-08-08 13:40:57,652][WARN ][cluster.action.shard ] [Vibraxas] received shard failed for [cpan_v1][0], node[DEJRUWKhSN2NnGibct5PEA], [P], s[INITIALIZING], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[cpan_v1][0] failed recovery]; nested: EngineCreationFailureException[[cpan_v1][0] failed to create engine]; nested: LockObtainFailedException[Lock obtain timed out: NativeFSLock@/var/elasticsearch/metacpan_v1/nodes/0/indices/cpan_v1/0/index/write.lock: java.io.FileNotFoundException: /var/elasticsearch/metacpan_v1/nodes/0/indices/cpan_v1/0/index/write.lock (Permission denied)]; nested: FileNotFoundException[/var/elasticsearch/metacpan_v1/nodes/0/indices/cpan_v1/0/index/write.lock (Permission denied)]; ]]
[2013-08-08 13:40:57,655][WARN ][cluster.action.shard ] [Vibraxas] sending failed shard for [user][0], node[DEJRUWKhSN2NnGibct5PEA], [P], s[INITIALIZING], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[user][0] failed recovery]; nested: EngineCreationFailureException[[user][0] failed to create engine]; nested: LockObtainFailedException[Lock obtain timed out: NativeFSLock@/var/elasticsearch/metacpan_v1/nodes/0/indices/user/0/index/write.lock: java.io.FileNotFoundException: /var/elasticsearch/metacpan_v1/nodes/0/indices/user/0/index/write.lock (Permission denied)]; nested: FileNotFoundException[/var/elasticsearch/metacpan_v1/nodes/0/indices/user/0/index/write.lock (Permission denied)]; ]]
[2013-08-08 13:40:57,655][WARN ][cluster.action.shard ] [Vibraxas] received shard failed for [user][0], node[DEJRUWKhSN2NnGibct5PEA], [P], s[INITIALIZING], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[user][0] failed recovery]; nested: EngineCreationFailureException[[user][0] failed to create engine]; nested: LockObtainFailedException[Lock obtain timed out: NativeFSLock@/var/elasticsearch/metacpan_v1/nodes/0/indices/user/0/index/write.lock: java.io.FileNotFoundException: /var/elasticsearch/metacpan_v1/nodes/0/indices/user/0/index/write.lock (Permission denied)]; nested: FileNotFoundException[/var/elasticsearch/metacpan_v1/nodes/0/indices/user/0/index/write.lock (Permission denied)]; ]]
[2013-08-08 13:40:57,659][WARN ][cluster.action.shard ] [Vibraxas] sending failed shard for [cpan_v1][2], node[DEJRUWKhSN2NnGibct5PEA], [P], s[INITIALIZING], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[cpan_v1][2] failed recovery]; nested: EngineCreationFailureException[[cpan_v1][2] failed to create engine]; nested: LockObtainFailedException[Lock obtain timed out: NativeFSLock@/var/elasticsearch/metacpan_v1/nodes/0/indices/cpan_v1/2/index/write.lock: java.io.FileNotFoundException: /var/elasticsearch/metacpan_v1/nodes/0/indices/cpan_v1/2/index/write.lock (Permission denied)]; nested: FileNotFoundException[/var/elasticsearch/metacpan_v1/nodes/0/indices/cpan_v1/2/index/write.lock (Permission denied)]; ]]
[2013-08-08 13:40:57,659][WARN ][cluster.action.shard ] [Vibraxas] received shard failed for [cpan_v1][2], node[DEJRUWKhSN2NnGibct5PEA], [P], s[INITIALIZING], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[cpan_v1][2] failed recovery]; nested: EngineCreationFailureException[[cpan_v1][2] failed to create engine]; nested: LockObtainFailedException[Lock obtain timed out: NativeFSLock@/var/elasticsearch/metacpan_v1/nodes/0/indices/cpan_v1/2/index/write.lock: java.io.FileNotFoundException: /var/elasticsearch/metacpan_v1/nodes/0/indices/cpan_v1/2/index/write.lock (Permission denied)]; nested: FileNotFoundException[/var/elasticsearch/metacpan_v1/nodes/0/indices/cpan_v1/2/index/write.lock (Permission denied)]; ]]
vagrant@debian:~/dev$ perl -w api-test2.pl
[Thu Aug 8 14:28:00 2013] Protocol: http, Server: localhost:5000
curl -XGET 'http://127.0.0.1:9200/v0/author/MSTROUT?pretty=1'
[Thu Aug 8 14:28:01 2013] Response:
{
"message" : "v0/author/MSTROUT",
"code" : 404
}
[ERROR] ** ElasticSearch::Error::Missing at /usr/local/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/ElasticSearch/Transport/HTTP.pm line 67 :
Not Found (404)
With vars:{
'request' => {
'qs' => {},
'post_process' => undef,
'as_json' => undef,
'cmd' => '/v0/author/MSTROUT',
'method' => 'GET',
'data' => undef
},
'status_code' => 404,
'content' => '{
"code" : 404,
"message" : "v0/author/MSTROUT"
}
',
'server' => 'localhost:5000',
'status_msg' => 'Not Found'
}
vagrant@debian:~/dev$
vagrant@debian:~/dev$ perl -w api-test1.pl
[ERROR] ** ElasticSearch::Error::Missing at /usr/local/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/ElasticSearch/Transport/HTTP.pm line 67 :
Not Found (404)
With vars:{
'request' => {
'qs' => {
'scroll' => '5m',
'search_type' => 'scan'
},
'post_process' => undef,
'as_json' => undef,
'cmd' => '/cpan_v1/author/_search',
'method' => 'GET',
'data' => {
'query' => {
'match_all' => {}
},
'size' => 15
}
},
'status_code' => 404,
'content' => '{
"code" : 404,
"message" : "cpan_v1/author/_search"
}
',
'server' => 'localhost:5000',
'status_msg' => 'Not Found'
}
vagrant@debian:~/dev$