eveapi 0.0.3.pre → 0.0.4.pre
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/.gitmodules +3 -0
- data/Gemfile +7 -0
- data/README.md +38 -5
- data/Rakefile +43 -0
- data/gemspec.yml +5 -1
- data/lib/eveapi.rb +3 -0
- data/lib/eveapi/client.rb +36 -1
- data/lib/eveapi/console.rb +5 -0
- data/lib/eveapi/request.rb +22 -12
- data/lib/eveapi/util.rb +35 -0
- data/lib/eveapi/version.rb +1 -1
- data/spec/cassettes/EVEApi/calling_a_method_not_present_in_the_EVEApi_should_fail.yml +106 -0
- data/spec/cassettes/EVEApi/calling_a_method_present_in_the_EVEApi_should_success.yml +31 -0
- data/spec/cassettes/EVEApi/calling_api_method_account_account_status.yml +33 -0
- data/spec/cassettes/EVEApi/calling_api_method_account_api_key_info.yml +35 -0
- data/spec/cassettes/EVEApi/calling_api_method_account_characters.yml +34 -0
- data/spec/cassettes/EVEApi/calling_api_method_char_account_balance.yml +32 -0
- data/spec/cassettes/EVEApi/calling_api_method_char_asset_list.yml +79 -0
- data/spec/cassettes/EVEApi/calling_api_method_char_character_sheet.yml +79 -0
- data/spec/cassettes/EVEApi/calling_api_method_char_contact_list.yml +47 -0
- data/spec/cassettes/EVEApi/calling_api_method_char_contact_notifications.yml +31 -0
- data/spec/cassettes/EVEApi/calling_api_method_char_contracts.yml +31 -0
- data/spec/cassettes/EVEApi/calling_api_method_char_industry_jobs.yml +31 -0
- data/spec/cassettes/EVEApi/calling_api_method_char_mail_messages.yml +31 -0
- data/spec/cassettes/EVEApi/calling_api_method_char_mailing_lists.yml +31 -0
- data/spec/cassettes/EVEApi/calling_api_method_char_market_orders.yml +31 -0
- data/spec/cassettes/EVEApi/calling_api_method_char_medals.yml +32 -0
- data/spec/cassettes/EVEApi/calling_api_method_char_notifications.yml +31 -0
- data/spec/cassettes/EVEApi/calling_api_method_char_research.yml +31 -0
- data/spec/cassettes/EVEApi/calling_api_method_char_skill_in_training.yml +31 -0
- data/spec/cassettes/EVEApi/calling_api_method_char_skill_queue.yml +31 -0
- data/spec/cassettes/EVEApi/calling_api_method_char_standings.yml +45 -0
- data/spec/cassettes/EVEApi/calling_api_method_char_upcoming_calendar_events.yml +31 -0
- data/spec/cassettes/EVEApi/calling_api_method_char_wallet_journal.yml +31 -0
- data/spec/cassettes/EVEApi/calling_api_method_char_wallet_transactions.yml +31 -0
- data/spec/cassettes/EVEApi/calling_api_method_server_server_status.yml +31 -0
- data/spec/cassettes/EVEApi/calling_api_methods_should_return_an_Array_of_method_symobls.yml +160 -0
- data/spec/eveapi_spec.rb +41 -29
- data/spec/spec_helper.rb +8 -0
- metadata +88 -3
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MDA5NDcwZDRmMGI0MTMzZDJlMDQ0N2QyZDZhMDg4NDQ2YTM0NjcxMg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YWQxZDRjZTNmOGNlODM4YThiMGIxYjY3ZTc5MmRhYTBkZGE2MWIzNA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MjAyOTRkMzExY2VmNDNhNjdiYjYyZjBkYmFmYWVjNDFlMjc0NWZkMDY5ZjI3
|
10
|
+
NDA5ZjMyNTdlZmE5YmE4ODBlMzU1NmVkNjNlOWFhOTY3ZGQ1M2FhOGU1ZDJh
|
11
|
+
OGZhOGU2OWUzZDgyNTU4MjljN2ZjNjQyZjI2MjdlODViMTViZTM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
OTA4ZTJmYzNiYWE2ZDVjZDU1MzdhZWY2ZDBjNmM0ZjA3ZGY0NmJmN2NmOThk
|
14
|
+
NjJmMzFlNmQzOTAxZWQxZjY3OWE1ZjA3MDAwMTA1MjRiOTg4MjMwMzYyZWRh
|
15
|
+
NWQwM2U3NTg2YzI4Y2YxOTIzMDJkMTE1NTQwZTljY2FhODFiMWE=
|
data/.gitmodules
ADDED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -11,7 +11,7 @@ This work in progress in a very early stage. Not documented. Only a couple of me
|
|
11
11
|
|
12
12
|
Most methods names can be listed by calling `EVEApi::Client#api_methods`
|
13
13
|
```ruby
|
14
|
-
|
14
|
+
EVEApi::Client.new.api_methods[0..5]
|
15
15
|
=> [
|
16
16
|
[0] :char_chat_channels,
|
17
17
|
[1] :char_bookmarks,
|
@@ -25,7 +25,31 @@ Most methods requiring arguments other than `character_id`, `key_id`, `vcode` an
|
|
25
25
|
|
26
26
|
Because of the way the paths are being built from the method names - some methods may look funky eq. `server_server_status`.
|
27
27
|
|
28
|
-
|
28
|
+
## Methods
|
29
|
+
|
30
|
+
| Method Name | Requires | Output Class |
|
31
|
+
| ------------- | ------------- | ------------- |
|
32
|
+
| [account_api_key_info](account_api_key_info) | - | `Hash` |
|
33
|
+
| [account_account_status](account_account_status) | `key_id`, `vcode` | `Hash` |
|
34
|
+
| [account_characters](account_characters) | `key_id`, `vcode` | `Array` |
|
35
|
+
| [server_server_status](server_server_status) | - | `Hash` |
|
36
|
+
| [char_wallet_transactions](char_wallet_transactions) | `key_id`, `vcode`, `character_id` | `Array` |
|
37
|
+
| [char_wallet_journal](char_wallet_journal) | `key_id`, `vcode`, `character_id` | `Array` |
|
38
|
+
| [char_standings](char_standings) | `key_id`, `vcode`, `character_id` | `Array` |
|
39
|
+
| [char_skill_queue](char_skill_queue) | | |
|
40
|
+
| [char_skill_in_training](char_skill_in_training) | | |
|
41
|
+
| [char_research](char_research) | | |
|
42
|
+
| [char_notifications](char_notifications) | | |
|
43
|
+
| [char_medals](char_medals) | | |
|
44
|
+
| [char_market_orders](char_market_orders) | | |
|
45
|
+
| [char_mail_messages](char_mail_messages) | | |
|
46
|
+
| [char_mailing_lists](char_mailing_lists) | | |
|
47
|
+
| [char_industry_jobs](char_industry_jobs) | | |
|
48
|
+
| [char_contact_notifications](char_contact_notifications) | | |
|
49
|
+
| [char_contact_list](char_contact_list) | | |
|
50
|
+
| [char_character_sheet](char_character_sheet) | | |
|
51
|
+
| [char_asset_list](char_asset_list) | | |
|
52
|
+
| [char_account_balance](char_account_balance) | | |
|
29
53
|
|
30
54
|
## Description
|
31
55
|
|
@@ -43,10 +67,19 @@ Uses [excon](https://github.com/excon/excon), [crack](https://github.com/jnunem
|
|
43
67
|
```ruby
|
44
68
|
require 'eveapi'
|
45
69
|
client = EVEApi::Client.new
|
46
|
-
client.key_id =
|
47
|
-
client.vcode =
|
70
|
+
client.key_id = 4278167
|
71
|
+
client.vcode = "7QJg6p5BZNpDBp2FIz39dGwa7jnNaXAuYyLUVitlTQ3rY60VPBcaTpJVfYIkiW5l"
|
48
72
|
client.account_characters
|
49
|
-
|
73
|
+
=> {
|
74
|
+
:name => "Quint Slade",
|
75
|
+
:character_id => "95512059",
|
76
|
+
:corporation_name => "Imperial Academy",
|
77
|
+
:corporation_id => "1000166",
|
78
|
+
:alliance_id => "0",
|
79
|
+
:alliance_name => "",
|
80
|
+
:faction_id => "0",
|
81
|
+
:faction_name => ""
|
82
|
+
}
|
50
83
|
```
|
51
84
|
|
52
85
|
## Requirements
|
data/Rakefile
CHANGED
@@ -19,5 +19,48 @@ task :doc => :rdoc
|
|
19
19
|
require 'rspec/core/rake_task'
|
20
20
|
RSpec::Core::RakeTask.new
|
21
21
|
|
22
|
+
require 'pry'
|
23
|
+
|
24
|
+
desc 'Run pry console'
|
25
|
+
task :console do
|
26
|
+
require './lib/eveapi'
|
27
|
+
require './lib/eveapi/console'
|
28
|
+
Pry.start
|
29
|
+
end
|
30
|
+
|
31
|
+
desc 'Generate method docs'
|
32
|
+
task :methods do
|
33
|
+
Bundler.require
|
34
|
+
require 'awesome_print'
|
35
|
+
EVEApi::Client.new.working_methods.each do |m|
|
36
|
+
p m
|
37
|
+
@client = EVEApi::Client.new
|
38
|
+
@client.key_id = 4278167
|
39
|
+
@client.vcode = "supersecretstuff"
|
40
|
+
@client.character_id = '95512059'
|
41
|
+
out = ""
|
42
|
+
begin
|
43
|
+
out << @client.api_methods_hash.select { |me| me[:name] == m }.first[:desc]
|
44
|
+
rescue
|
45
|
+
out << "TODO Description (#{m})"
|
46
|
+
end
|
47
|
+
out << "\n\n"
|
48
|
+
out << "```ruby\n@client = EVEApi::Client.new\n"
|
49
|
+
out << "@client.key_id = 4278167\n"
|
50
|
+
out << "@client.vcode = 'supersecretstuff'\n\n"
|
51
|
+
out << "@client.#{m}\n\n"
|
52
|
+
begin
|
53
|
+
out << @client.send(m).pretty_inspect
|
54
|
+
out << '```'
|
55
|
+
f = File.new("eveapi.wiki/#{m.to_s}.md","w")
|
56
|
+
f.puts out
|
57
|
+
f.close
|
58
|
+
rescue
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
|
64
|
+
task :c => :console
|
22
65
|
task :test => :spec
|
23
66
|
task :default => :spec
|
data/gemspec.yml
CHANGED
@@ -4,7 +4,7 @@ description: "ruby API Client for the space based MMO EVEOnline"
|
|
4
4
|
license: MIT
|
5
5
|
authors: Adam Ladachowski
|
6
6
|
email: adam@saiden.pl
|
7
|
-
homepage: https://
|
7
|
+
homepage: https://github.com/aladac/eveapi
|
8
8
|
|
9
9
|
required_ruby_version: '>= 1.9'
|
10
10
|
|
@@ -18,3 +18,7 @@ development_dependencies:
|
|
18
18
|
rake: ~> 10.0
|
19
19
|
rdoc: ~> 4.0
|
20
20
|
rspec: ~> 3.0
|
21
|
+
vcr: ~> 2.9
|
22
|
+
webmock: ~> 1
|
23
|
+
pry: ~> 0.10
|
24
|
+
awesome_print: ~> 1.6
|
data/lib/eveapi.rb
CHANGED
@@ -4,9 +4,12 @@ $LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)
|
|
4
4
|
require 'eveapi/version'
|
5
5
|
require 'eveapi/client'
|
6
6
|
require 'eveapi/request'
|
7
|
+
require 'eveapi/util'
|
7
8
|
require 'excon'
|
8
9
|
require 'crack'
|
9
10
|
|
11
|
+
include EVEApi::Util
|
12
|
+
|
10
13
|
class String
|
11
14
|
def camelize
|
12
15
|
self.split("_").each {|s| s.capitalize! }.join("")
|
data/lib/eveapi/client.rb
CHANGED
@@ -24,7 +24,15 @@ module EVEApi
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def api_methods
|
27
|
-
|
27
|
+
api_methods_hash.map { |m| m[:name] }
|
28
|
+
end
|
29
|
+
|
30
|
+
def ruby_method_name(m)
|
31
|
+
( m[:type][0..3].downcase + '_' + m[:name].underscore ).to_sym
|
32
|
+
end
|
33
|
+
|
34
|
+
def api_methods_hash
|
35
|
+
api_call_list[:calls].map { |m| { name: ruby_method_name(m), desc: m[:description] } }
|
28
36
|
end
|
29
37
|
|
30
38
|
def method_missing(name, *args, &block)
|
@@ -33,5 +41,32 @@ module EVEApi
|
|
33
41
|
request = EVEApi::Request.new @connection.get(path: check_path(name), query: params)
|
34
42
|
request.result
|
35
43
|
end
|
44
|
+
def working_methods
|
45
|
+
[
|
46
|
+
:account_api_key_info,
|
47
|
+
:account_account_status,
|
48
|
+
:account_characters,
|
49
|
+
:server_server_status,
|
50
|
+
:char_contracts,
|
51
|
+
:char_wallet_transactions,
|
52
|
+
:char_wallet_journal,
|
53
|
+
:char_upcoming_calendar_events,
|
54
|
+
:char_standings,
|
55
|
+
:char_skill_queue,
|
56
|
+
:char_skill_in_training,
|
57
|
+
:char_research,
|
58
|
+
:char_notifications,
|
59
|
+
:char_medals,
|
60
|
+
:char_market_orders,
|
61
|
+
:char_mail_messages,
|
62
|
+
:char_mailing_lists,
|
63
|
+
:char_industry_jobs,
|
64
|
+
:char_contact_notifications,
|
65
|
+
:char_contact_list,
|
66
|
+
:char_character_sheet,
|
67
|
+
:char_asset_list,
|
68
|
+
:char_account_balance,
|
69
|
+
]
|
70
|
+
end
|
36
71
|
end
|
37
72
|
end
|
data/lib/eveapi/request.rb
CHANGED
@@ -6,9 +6,9 @@ module EVEApi
|
|
6
6
|
|
7
7
|
def initialize(response=nil)
|
8
8
|
@response = response
|
9
|
-
raise
|
9
|
+
raise "HTTP: #{response.status}" unless response.status == 200
|
10
10
|
@data = parse_xml
|
11
|
-
@result = self.parse_result
|
11
|
+
@result = convert_hash_keys(self.parse_result)
|
12
12
|
raise error if error
|
13
13
|
end
|
14
14
|
|
@@ -20,18 +20,28 @@ module EVEApi
|
|
20
20
|
Crack::XML.parse(response.body)
|
21
21
|
end
|
22
22
|
|
23
|
+
def process_hash(data)
|
24
|
+
data.each_value do |v|
|
25
|
+
v.process_rows if v.is_a?(Hash)
|
26
|
+
end.process_rows
|
27
|
+
end
|
28
|
+
|
29
|
+
def process_array(data)
|
30
|
+
data.each do |v|
|
31
|
+
v.process_rows if v.is_a?(Hash)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
23
35
|
def parse_result
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
data['eveapi']['result']['rowset'].each do |r|
|
31
|
-
output.merge!({ r['name'].underscore.to_sym => r['row'] })
|
32
|
-
end
|
33
|
-
output
|
36
|
+
api_result = data['eveapi']['result']
|
37
|
+
case api_result['rowset']['row']
|
38
|
+
when Array
|
39
|
+
return process_array api_result['rowset']['row']
|
40
|
+
else
|
41
|
+
return api_result['rowset']['row']
|
34
42
|
end
|
43
|
+
rescue TypeError, NoMethodError
|
44
|
+
return process_hash(api_result)
|
35
45
|
end
|
36
46
|
end
|
37
47
|
end
|
data/lib/eveapi/util.rb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
class Hash
|
2
|
+
def process_rows
|
3
|
+
case self['rowset']
|
4
|
+
when Hash
|
5
|
+
self.merge!(self['rowset']['name'] => self['rowset']['row'])
|
6
|
+
self.delete('rowset')
|
7
|
+
when Array
|
8
|
+
self['rowset'].each do |rowset|
|
9
|
+
self[rowset['name']] = rowset['row']
|
10
|
+
end
|
11
|
+
self.delete('rowset')
|
12
|
+
end
|
13
|
+
self.merge!(self.delete(self.keys.first)) if self.length == 1
|
14
|
+
return self
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
module EVEApi
|
19
|
+
module Util
|
20
|
+
def underscore_key(k)
|
21
|
+
k.to_s.underscore.to_sym
|
22
|
+
end
|
23
|
+
|
24
|
+
def convert_hash_keys(value)
|
25
|
+
case value
|
26
|
+
when Array
|
27
|
+
value.map { |v| convert_hash_keys(v) }
|
28
|
+
when Hash
|
29
|
+
Hash[value.map { |k, v| [underscore_key(k), convert_hash_keys(v)] }]
|
30
|
+
else
|
31
|
+
value
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
data/lib/eveapi/version.rb
CHANGED
@@ -0,0 +1,106 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.eveonline.com/some/BsMethod.xml.aspx?characterID=95512059&keyID=4278167&vCode=supersecretstuff
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- excon/0.45.4
|
12
|
+
response:
|
13
|
+
status:
|
14
|
+
code: 404
|
15
|
+
message: ''
|
16
|
+
headers:
|
17
|
+
Content-Type:
|
18
|
+
- text/html; charset=utf-8
|
19
|
+
Server:
|
20
|
+
- Microsoft-IIS/7.5
|
21
|
+
Access-Control-Allow-Origin:
|
22
|
+
- "*"
|
23
|
+
Date:
|
24
|
+
- Wed, 09 Sep 2015 12:35:44 GMT
|
25
|
+
Content-Length:
|
26
|
+
- '7383'
|
27
|
+
body:
|
28
|
+
encoding: UTF-8
|
29
|
+
string: "<!DOCTYPE html>\r\n<html>\r\n <head><script type=\"text/javascript\">window.NREUM||(NREUM={});NREUM.info
|
30
|
+
= {\"beacon\":\"bam.nr-data.net\",\"errorBeacon\":\"bam.nr-data.net\",\"licenseKey\":\"4519cc3c6b\",\"applicationID\":\"2400733\",\"transactionName\":\"b1xaYEADDEoHBxVRX1YWa0BTFhdKJQsFXR8MCQw=\",\"queueTime\":1,\"applicationTime\":3,\"ttGuid\":\"4AEF5D03368A424F\",\"agent\":\"js-agent.newrelic.com/nr-686.min.js\"}</script><script
|
31
|
+
type=\"text/javascript\">window.NREUM||(NREUM={}),__nr_require=function(e,n,t){function
|
32
|
+
r(t){if(!n[t]){var o=n[t]={exports:{}};e[t][0].call(o.exports,function(n){var
|
33
|
+
o=e[t][1][n];return r(o?o:n)},o,o.exports)}return n[t].exports}if(\"function\"==typeof
|
34
|
+
__nr_require)return __nr_require;for(var o=0;o<t.length;o++)r(t[o]);return
|
35
|
+
r}({QJf3ax:[function(e,n){function t(e){function n(n,t,a){e&&e(n,t,a),a||(a={});for(var
|
36
|
+
u=c(n),f=u.length,s=i(a,o,r),p=0;f>p;p++)u[p].apply(s,t);return s}function
|
37
|
+
a(e,n){f[e]=c(e).concat(n)}function c(e){return f[e]||[]}function u(){return
|
38
|
+
t(n)}var f={};return{on:a,emit:n,create:u,listeners:c,_events:f}}function
|
39
|
+
r(){return{}}var o=\"nr@context\",i=e(\"gos\");n.exports=t()},{gos:\"7eSDFh\"}],ee:[function(e,n){n.exports=e(\"QJf3ax\")},{}],3:[function(e,n){function
|
40
|
+
t(e){return function(){r(e,[(new Date).getTime()].concat(i(arguments)))}}var
|
41
|
+
r=e(\"handle\"),o=e(1),i=e(2);\"undefined\"==typeof window.newrelic&&(newrelic=window.NREUM);var
|
42
|
+
a=[\"setPageViewName\",\"addPageAction\",\"setCustomAttribute\",\"finished\",\"addToTrace\",\"inlineHit\",\"noticeError\"];o(a,function(e,n){window.NREUM[n]=t(\"api-\"+n)}),n.exports=window.NREUM},{1:12,2:13,handle:\"D5DuLP\"}],gos:[function(e,n){n.exports=e(\"7eSDFh\")},{}],\"7eSDFh\":[function(e,n){function
|
43
|
+
t(e,n,t){if(r.call(e,n))return e[n];var o=t();if(Object.defineProperty&&Object.keys)try{return
|
44
|
+
Object.defineProperty(e,n,{value:o,writable:!0,enumerable:!1}),o}catch(i){}return
|
45
|
+
e[n]=o,o}var r=Object.prototype.hasOwnProperty;n.exports=t},{}],D5DuLP:[function(e,n){function
|
46
|
+
t(e,n,t){return r.listeners(e).length?r.emit(e,n,t):void(r.q&&(r.q[e]||(r.q[e]=[]),r.q[e].push(n)))}var
|
47
|
+
r=e(\"ee\").create();n.exports=t,t.ee=r,r.q={}},{ee:\"QJf3ax\"}],handle:[function(e,n){n.exports=e(\"D5DuLP\")},{}],XL7HBI:[function(e,n){function
|
48
|
+
t(e){var n=typeof e;return!e||\"object\"!==n&&\"function\"!==n?-1:e===window?0:i(e,o,function(){return
|
49
|
+
r++})}var r=1,o=\"nr@id\",i=e(\"gos\");n.exports=t},{gos:\"7eSDFh\"}],id:[function(e,n){n.exports=e(\"XL7HBI\")},{}],G9z0Bl:[function(e,n){function
|
50
|
+
t(){var e=d.info=NREUM.info,n=f.getElementsByTagName(\"script\")[0];if(e&&e.licenseKey&&e.applicationID&&n){c(p,function(n,t){n
|
51
|
+
in e||(e[n]=t)});var t=\"https\"===s.split(\":\")[0]||e.sslForHttp;d.proto=t?\"https://\":\"http://\",a(\"mark\",[\"onload\",i()]);var
|
52
|
+
r=f.createElement(\"script\");r.src=d.proto+e.agent,n.parentNode.insertBefore(r,n)}}function
|
53
|
+
r(){\"complete\"===f.readyState&&o()}function o(){a(\"mark\",[\"domContent\",i()])}function
|
54
|
+
i(){return(new Date).getTime()}var a=e(\"handle\"),c=e(1),u=window,f=u.document;e(2);var
|
55
|
+
s=(\"\"+location).split(\"?\")[0],p={beacon:\"bam.nr-data.net\",errorBeacon:\"bam.nr-data.net\",agent:\"js-agent.newrelic.com/nr-686.min.js\"},d=n.exports={offset:i(),origin:s,features:{}};f.addEventListener?(f.addEventListener(\"DOMContentLoaded\",o,!1),u.addEventListener(\"load\",t,!1)):(f.attachEvent(\"onreadystatechange\",r),u.attachEvent(\"onload\",t)),a(\"mark\",[\"firstbyte\",i()])},{1:12,2:3,handle:\"D5DuLP\"}],loader:[function(e,n){n.exports=e(\"G9z0Bl\")},{}],12:[function(e,n){function
|
56
|
+
t(e,n){var t=[],o=\"\",i=0;for(o in e)r.call(e,o)&&(t[i]=n(o,e[o]),i+=1);return
|
57
|
+
t}var r=Object.prototype.hasOwnProperty;n.exports=t},{}],13:[function(e,n){function
|
58
|
+
t(e,n,t){n||(n=0),\"undefined\"==typeof t&&(t=e?e.length:0);for(var r=-1,o=t-n||0,i=Array(0>o?0:o);++r<o;)i[r]=e[n+r];return
|
59
|
+
i}n.exports=t},{}]},{},[\"G9z0Bl\"]);</script>\r\n <title>The resource
|
60
|
+
cannot be found.</title>\r\n <meta name=\"viewport\" content=\"width=device-width\"
|
61
|
+
/>\r\n <style>\r\n body {font-family:\"Verdana\";font-weight:normal;font-size:
|
62
|
+
.7em;color:black;} \r\n p {font-family:\"Verdana\";font-weight:normal;color:black;margin-top:
|
63
|
+
-5px}\r\n b {font-family:\"Verdana\";font-weight:bold;color:black;margin-top:
|
64
|
+
-5px}\r\n H1 { font-family:\"Verdana\";font-weight:normal;font-size:18pt;color:red
|
65
|
+
}\r\n H2 { font-family:\"Verdana\";font-weight:normal;font-size:14pt;color:maroon
|
66
|
+
}\r\n pre {font-family:\"Consolas\",\"Lucida Console\",Monospace;font-size:11pt;margin:0;padding:0.5em;line-height:14pt}\r\n
|
67
|
+
\ .marker {font-weight: bold; color: black;text-decoration: none;}\r\n
|
68
|
+
\ .version {color: gray;}\r\n .error {margin-bottom: 10px;}\r\n
|
69
|
+
\ .expandable { text-decoration:underline; font-weight:bold; color:navy;
|
70
|
+
cursor:hand; }\r\n @media screen and (max-width: 639px) {\r\n pre
|
71
|
+
{ width: 440px; overflow: auto; white-space: pre-wrap; word-wrap: break-word;
|
72
|
+
}\r\n }\r\n @media screen and (max-width: 479px) {\r\n pre
|
73
|
+
{ width: 280px; }\r\n }\r\n </style>\r\n </head>\r\n\r\n
|
74
|
+
\ <body bgcolor=\"white\">\r\n\r\n <span><H1>Server Error in
|
75
|
+
'/' Application.<hr width=100% size=1 color=silver></H1>\r\n\r\n <h2>
|
76
|
+
<i>The resource cannot be found.</i> </h2></span>\r\n\r\n <font
|
77
|
+
face=\"Arial, Helvetica, Geneva, SunSans-Regular, sans-serif \">\r\n\r\n <b>
|
78
|
+
Description: </b>HTTP 404. The resource you are looking for (or one of its
|
79
|
+
dependencies) could have been removed, had its name changed, or is temporarily
|
80
|
+
unavailable. Please review the following URL and make sure that it is
|
81
|
+
spelled correctly.\r\n <br><br>\r\n\r\n <b> Requested
|
82
|
+
URL: </b>/some/BsMethod.xml.aspx<br><br>\r\n\r\n <hr width=100%
|
83
|
+
size=1 color=silver>\r\n\r\n <b>Version Information:</b> Microsoft
|
84
|
+
.NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.34249\r\n\r\n
|
85
|
+
\ </font>\r\n\r\n </body>\r\n</html>\r\n<!-- \r\n[HttpException]:
|
86
|
+
The file '/some/BsMethod.xml.aspx' does not exist.\r\n at System.Web.UI.Util.CheckVirtualFileExists(VirtualPath
|
87
|
+
virtualPath)\r\n at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath
|
88
|
+
virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile,
|
89
|
+
Boolean throwIfNotFound, Boolean ensureIsUpToDate)\r\n at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext
|
90
|
+
context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp,
|
91
|
+
Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)\r\n
|
92
|
+
\ at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath
|
93
|
+
virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)\r\n
|
94
|
+
\ at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath
|
95
|
+
virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp)\r\n
|
96
|
+
\ at System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context,
|
97
|
+
String requestType, VirtualPath virtualPath, String physicalPath)\r\n at
|
98
|
+
System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()\r\n
|
99
|
+
\ at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&
|
100
|
+
completedSynchronously)\r\n--><!-- \r\nThis error page might contain sensitive
|
101
|
+
information because ASP.NET is configured to show verbose error messages using
|
102
|
+
<customErrors mode=\"Off\"/>. Consider using <customErrors mode=\"On\"/>
|
103
|
+
or <customErrors mode=\"RemoteOnly\"/> in production environments.-->"
|
104
|
+
http_version:
|
105
|
+
recorded_at: Wed, 09 Sep 2015 12:35:44 GMT
|
106
|
+
recorded_with: VCR 2.9.3
|
@@ -0,0 +1,31 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.eveonline.com/server/ServerStatus.xml.aspx?characterID=95512059&keyID=4278167&vCode=supersecretstuff
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- excon/0.45.4
|
12
|
+
response:
|
13
|
+
status:
|
14
|
+
code: 200
|
15
|
+
message: ''
|
16
|
+
headers:
|
17
|
+
Content-Type:
|
18
|
+
- application/xml; charset=utf-8
|
19
|
+
Access-Control-Allow-Origin:
|
20
|
+
- "*"
|
21
|
+
Date:
|
22
|
+
- Wed, 09 Sep 2015 12:35:44 GMT
|
23
|
+
body:
|
24
|
+
encoding: UTF-8
|
25
|
+
string: "<?xml version='1.0' encoding='UTF-8'?>\r\n<eveapi version=\"2\">\r\n
|
26
|
+
\ <currentTime>2015-09-09 12:35:44</currentTime>\r\n <result>\r\n <serverOpen>True</serverOpen>\r\n
|
27
|
+
\ <onlinePlayers>13626</onlinePlayers>\r\n </result>\r\n <cachedUntil>2015-09-09
|
28
|
+
12:37:49</cachedUntil>\r\n</eveapi>"
|
29
|
+
http_version:
|
30
|
+
recorded_at: Wed, 09 Sep 2015 12:35:44 GMT
|
31
|
+
recorded_with: VCR 2.9.3
|