skinbaron_api_client 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.rubocop.yml +10 -0
- data/.tool-versions +1 -0
- data/CHANGELOG.md +12 -0
- data/LICENSE.txt +21 -0
- data/README.md +129 -0
- data/Rakefile +8 -0
- data/lib/skinbaron_api_client/client.rb +60 -0
- data/lib/skinbaron_api_client/configuration.rb +31 -0
- data/lib/skinbaron_api_client/endpoints/search.rb +23 -0
- data/lib/skinbaron_api_client/error_handling.rb +64 -0
- data/lib/skinbaron_api_client/http_client.rb +55 -0
- data/lib/skinbaron_api_client/logger.rb +100 -0
- data/lib/skinbaron_api_client/version.rb +5 -0
- data/lib/skinbaron_api_client.rb +27 -0
- data/logs/errors.log +24 -0
- data/logs/requests.log +134 -0
- data/sig/skinbaron_api_client.rbs +4 -0
- metadata +102 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 9fa0a22e643ff91bf554b575f82934242e59dd3d4861b8bf44bd363e23ee6d07
|
4
|
+
data.tar.gz: 38c437e8f44500428073f310d9917cd34cf5f39fcd2a06850e08bedf8564e5b7
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 2520d780ce93dc9f2f2b159feb44d10c06501b958a47e3c5ccefdc5eec7599d5a3fb800fff504768c734af74ba52c89407dd6ea3b155f487278d9c6a01c5c9b0
|
7
|
+
data.tar.gz: 7ebfbf5c2d8a2237ab5ea1b27c24a42faa265be0fbb6025a49b06d09fc04babe4b403e4fbc976fd3fb83bcf2f5c9ca8760f4a24e1f8cf6518e9c71753ff9444e
|
data/.rubocop.yml
ADDED
data/.tool-versions
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ruby 3.3.5
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## [Unreleased]
|
4
|
+
|
5
|
+
- Initial release with basic SkinBaron API functionality:
|
6
|
+
- Implemented endpoints:
|
7
|
+
- `search`: Get CS2 items from the marketplace
|
8
|
+
- Error handling for API responses
|
9
|
+
- Request/Response logging
|
10
|
+
- Support for CS2 (appid: 730)
|
11
|
+
|
12
|
+
## [0.1.0] - 2024-12-22
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2024 Sam Schams
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,129 @@
|
|
1
|
+
# SkinBaron API Client
|
2
|
+
|
3
|
+
A Ruby gem for interacting with the SkinBaron API. This client provides a simple and intuitive way to access SkinBaron's marketplace functionality for CS2 (Counter-Strike 2) items.
|
4
|
+
|
5
|
+
## Quick Start
|
6
|
+
|
7
|
+
Install the gem from the command line:
|
8
|
+
|
9
|
+
```bash
|
10
|
+
gem install skinbaron_api_client
|
11
|
+
```
|
12
|
+
|
13
|
+
Then in your Ruby code:
|
14
|
+
|
15
|
+
```ruby
|
16
|
+
require 'skinbaron_api_client'
|
17
|
+
|
18
|
+
skinbaron = SkinbaronApiClient::Client.new(api_key: "YOUR_API_KEY")
|
19
|
+
results = skinbaron.search(item: "AK-47 | Redline")
|
20
|
+
|
21
|
+
puts results
|
22
|
+
```
|
23
|
+
|
24
|
+
## Installation
|
25
|
+
|
26
|
+
Add this line to your application's Gemfile:
|
27
|
+
|
28
|
+
```ruby
|
29
|
+
gem 'skinbaron_api_client'
|
30
|
+
```
|
31
|
+
|
32
|
+
And then execute:
|
33
|
+
|
34
|
+
```bash
|
35
|
+
bundle install
|
36
|
+
```
|
37
|
+
|
38
|
+
Or install it yourself as:
|
39
|
+
|
40
|
+
```bash
|
41
|
+
gem install skinbaron_api_client
|
42
|
+
```
|
43
|
+
|
44
|
+
## Usage
|
45
|
+
|
46
|
+
First, require the gem:
|
47
|
+
|
48
|
+
```ruby
|
49
|
+
require 'skinbaron_api_client'
|
50
|
+
```
|
51
|
+
|
52
|
+
Initialize the client with your API key. You can do this in two ways:
|
53
|
+
|
54
|
+
```ruby
|
55
|
+
# Method 1: Using a block
|
56
|
+
skinbaron = SkinbaronApiClient::Client.new do |client|
|
57
|
+
client.api_key = "your_api_key"
|
58
|
+
|
59
|
+
client.log_path = "path/to/logs" # Optional: Path to store ALL logs (2 log files)
|
60
|
+
client.request_log_path = "requests.log" # Optional: Use instead of log_path
|
61
|
+
client.error_log_path = "errors.log" # Optional: Use instead of log_path
|
62
|
+
client.appid = 730 # Optional - defaults to CS2
|
63
|
+
end
|
64
|
+
|
65
|
+
# Method 2: Using keyword arguments
|
66
|
+
skinbaron = SkinbaronApiClient::Client.new(
|
67
|
+
api_key: "your_api_key",
|
68
|
+
|
69
|
+
log_path: "path/to/logs", # Optional: Base path for logs
|
70
|
+
request_log_path: "requests.log", # Optional: Specific path for request logs
|
71
|
+
error_log_path: "errors.log", # Optional: Specific path for error logs
|
72
|
+
appid: 730 # Optional: appid - already set to CS2 by default
|
73
|
+
)
|
74
|
+
```
|
75
|
+
|
76
|
+
### Search Items
|
77
|
+
|
78
|
+
Search for items on the SkinBaron marketplace:
|
79
|
+
|
80
|
+
```ruby
|
81
|
+
# Search for a specific item
|
82
|
+
response = skinbaron.search(item: "AK-47 | Redline")
|
83
|
+
```
|
84
|
+
|
85
|
+
### Error Handling
|
86
|
+
|
87
|
+
The client includes error handling with the following errors:
|
88
|
+
|
89
|
+
- `SkinbaronApiClient::AuthenticationError` - API authentication failures
|
90
|
+
- `SkinbaronApiClient::RequestError` - HTTP request failures
|
91
|
+
- `SkinbaronApiClient::ResponseError` - Invalid response handling
|
92
|
+
- `SkinbaronApiClient::Error` - General errors
|
93
|
+
|
94
|
+
### Logging
|
95
|
+
|
96
|
+
The client logs:
|
97
|
+
|
98
|
+
- API requests and responses
|
99
|
+
- Errors
|
100
|
+
|
101
|
+
Logs can be configured during client initialization using:
|
102
|
+
|
103
|
+
- `log_path` - Base directory for all logs
|
104
|
+
- `request_log_path` - Specific file for request logs
|
105
|
+
- `error_log_path` - Specific file for error logs
|
106
|
+
|
107
|
+
## Requirements
|
108
|
+
|
109
|
+
- Ruby >= 3.0.0
|
110
|
+
|
111
|
+
## Development
|
112
|
+
|
113
|
+
After checking out the repo, run `bin/setup` to install dependencies.
|
114
|
+
|
115
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`.
|
116
|
+
|
117
|
+
## Contributing
|
118
|
+
|
119
|
+
1. Fork it
|
120
|
+
2. Create your feature branch (`git checkout -b feature/my-new-feature`)
|
121
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
122
|
+
4. Push to the branch (`git push origin feature/my-new-feature`)
|
123
|
+
5. Create a new Pull Request
|
124
|
+
|
125
|
+
Bug reports and pull requests are welcome on GitHub at <https://github.com/shazam442/skinbaron-api-client>.
|
126
|
+
|
127
|
+
## License
|
128
|
+
|
129
|
+
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
data/Rakefile
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
# lib/skinbaron_api_client/client.rb
|
2
|
+
|
3
|
+
# frozen_string_literal: true
|
4
|
+
|
5
|
+
require_relative "configuration"
|
6
|
+
require_relative "http_client"
|
7
|
+
require_relative "error_handling"
|
8
|
+
require_relative "logger"
|
9
|
+
require_relative "endpoints/search"
|
10
|
+
|
11
|
+
module SkinbaronApiClient
|
12
|
+
class Client
|
13
|
+
include ErrorHandling
|
14
|
+
|
15
|
+
attr_reader :config, :http_client, :search_endpoint
|
16
|
+
|
17
|
+
def initialize(**options)
|
18
|
+
@config = Configuration.new
|
19
|
+
configure(**options) unless options.empty?
|
20
|
+
yield @config if block_given?
|
21
|
+
config.validate!
|
22
|
+
|
23
|
+
@http_client = setup_http_client
|
24
|
+
setup_endpoints
|
25
|
+
setup_logger
|
26
|
+
end
|
27
|
+
|
28
|
+
def configure(**options)
|
29
|
+
options.each do |key, value|
|
30
|
+
config.public_send("#{key}=", value)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def search(item:)
|
35
|
+
@search_endpoint.call(item: item)
|
36
|
+
end
|
37
|
+
|
38
|
+
private
|
39
|
+
|
40
|
+
def setup_http_client
|
41
|
+
HttpClient.new(
|
42
|
+
base_url: config.base_url,
|
43
|
+
headers: config.base_headers,
|
44
|
+
debug: config.debug
|
45
|
+
)
|
46
|
+
end
|
47
|
+
|
48
|
+
def setup_endpoints
|
49
|
+
@search_endpoint = Endpoints::Search.new(self)
|
50
|
+
end
|
51
|
+
|
52
|
+
def setup_logger
|
53
|
+
SkinbaronApiClient::Logger.configure(
|
54
|
+
base_path: config.log_path,
|
55
|
+
request_log_path: config.request_log_path,
|
56
|
+
error_log_path: config.error_log_path
|
57
|
+
)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module SkinbaronApiClient
|
2
|
+
class Configuration
|
3
|
+
attr_accessor :api_key, :appid, :log_path, :request_log_path, :error_log_path, :debug
|
4
|
+
attr_reader :base_url
|
5
|
+
|
6
|
+
def initialize
|
7
|
+
@base_url = "https://api.skinbaron.de"
|
8
|
+
@appid = 730 # Default to CS2
|
9
|
+
@debug = false
|
10
|
+
end
|
11
|
+
|
12
|
+
def validate!
|
13
|
+
raise ArgumentError, "api_key is required" unless api_key
|
14
|
+
end
|
15
|
+
|
16
|
+
def base_headers
|
17
|
+
{
|
18
|
+
"Content-Type" => "application/json",
|
19
|
+
"Accept" => "application/json",
|
20
|
+
"X-Requested-With" => "XMLHttpRequest"
|
21
|
+
}
|
22
|
+
end
|
23
|
+
|
24
|
+
def base_body
|
25
|
+
{
|
26
|
+
"apikey" => api_key,
|
27
|
+
"appid" => appid
|
28
|
+
}
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module SkinbaronApiClient
|
2
|
+
module Endpoints
|
3
|
+
class Search
|
4
|
+
attr_reader :skinbaron_client
|
5
|
+
|
6
|
+
def initialize(skinbaron_client)
|
7
|
+
@skinbaron_client = skinbaron_client
|
8
|
+
end
|
9
|
+
|
10
|
+
def call(item:)
|
11
|
+
body = @skinbaron_client.config.base_body.merge({ "search_item": item })
|
12
|
+
response = @skinbaron_client.http_client.post(endpoint: "Search", body: body)
|
13
|
+
|
14
|
+
return nil unless response[:status].success?
|
15
|
+
|
16
|
+
JSON.parse(response[:body])
|
17
|
+
rescue JSON::ParserError => e
|
18
|
+
logger.error("Failed to parse search response", error: e.message)
|
19
|
+
nil
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SkinbaronApiClient
|
4
|
+
# Mixin for adding error handling capabilities to API client classes.
|
5
|
+
# Provides methods for response validation and error logging.
|
6
|
+
module ErrorHandling
|
7
|
+
def self.included(base)
|
8
|
+
base.extend(ClassMethods)
|
9
|
+
end
|
10
|
+
|
11
|
+
# Class methods for decorating instance methods with error handling.
|
12
|
+
# Provides the with_error_handling decorator for wrapping methods.
|
13
|
+
module ClassMethods
|
14
|
+
def with_error_handling(method_name)
|
15
|
+
original_method = instance_method(method_name)
|
16
|
+
|
17
|
+
define_method(method_name) do |*args, **kwargs|
|
18
|
+
response = original_method.bind(self).call(*args, **kwargs)
|
19
|
+
|
20
|
+
check_response_success(response)
|
21
|
+
check_response_authentication(response)
|
22
|
+
|
23
|
+
response
|
24
|
+
rescue HTTP::Error => e
|
25
|
+
log_error(message: "HTTP request failed", error: e)
|
26
|
+
raise RequestError, "HTTP request failed: #{e.message}"
|
27
|
+
rescue JSON::ParserError => e
|
28
|
+
log_error(message: "JSON parsing failed", error: e)
|
29
|
+
raise ResponseError, "Invalid JSON response: #{e.message}"
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
private
|
35
|
+
|
36
|
+
def logger
|
37
|
+
SkinbaronApiClient::Logger.instance
|
38
|
+
end
|
39
|
+
|
40
|
+
def log_error(message:, error:)
|
41
|
+
logger.error(
|
42
|
+
message,
|
43
|
+
{
|
44
|
+
error_class: error.class.name,
|
45
|
+
error_message: error.message,
|
46
|
+
backtrace: error.backtrace&.first(5)
|
47
|
+
}
|
48
|
+
)
|
49
|
+
end
|
50
|
+
|
51
|
+
def check_response_success(response)
|
52
|
+
return if response[:status]&.success?
|
53
|
+
|
54
|
+
raise ResponseError, "Request failed with status #{response[:status]}. Response: #{response[:body]}"
|
55
|
+
end
|
56
|
+
|
57
|
+
def check_response_authentication(response)
|
58
|
+
return unless response[:body].to_s.include? "wrong or unauthenticated request"
|
59
|
+
|
60
|
+
logger.error("Authentication failed", { body: response[:body] })
|
61
|
+
raise AuthenticationError, "Authentication failed: #{response[:body]}"
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
require "http"
|
2
|
+
require "json"
|
3
|
+
require_relative "error_handling"
|
4
|
+
require_relative "logger"
|
5
|
+
|
6
|
+
module SkinbaronApiClient
|
7
|
+
# HTTP client for making requests to the Skinbaron API
|
8
|
+
class HttpClient
|
9
|
+
include ErrorHandling
|
10
|
+
|
11
|
+
attr_reader :base_url, :headers, :debug
|
12
|
+
|
13
|
+
def initialize(base_url:, headers: {}, debug: false)
|
14
|
+
@base_url = base_url
|
15
|
+
@headers = headers
|
16
|
+
@debug = debug
|
17
|
+
end
|
18
|
+
|
19
|
+
with_error_handling def post(endpoint:, body: {})
|
20
|
+
url = "#{base_url}/#{endpoint}"
|
21
|
+
debug_log "Making POST request to: #{url}"
|
22
|
+
debug_log "Request body: #{body.to_json}"
|
23
|
+
|
24
|
+
Logger.instance.log({
|
25
|
+
type: "REQUEST",
|
26
|
+
url: url,
|
27
|
+
method: "POST",
|
28
|
+
headers: headers,
|
29
|
+
body: body
|
30
|
+
})
|
31
|
+
|
32
|
+
http_response = HTTP.headers(headers).post(url, json: body)
|
33
|
+
|
34
|
+
Logger.instance.log({
|
35
|
+
type: "RESPONSE",
|
36
|
+
url: url,
|
37
|
+
status: http_response.status.to_s,
|
38
|
+
body: http_response.body.to_s
|
39
|
+
})
|
40
|
+
|
41
|
+
{
|
42
|
+
status: http_response.status,
|
43
|
+
headers: http_response.headers.to_h,
|
44
|
+
body: http_response.body.to_s,
|
45
|
+
url: url
|
46
|
+
}
|
47
|
+
end
|
48
|
+
|
49
|
+
private
|
50
|
+
|
51
|
+
def debug_log(message)
|
52
|
+
puts message if debug
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,100 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "logger"
|
4
|
+
require "singleton"
|
5
|
+
require "fileutils"
|
6
|
+
require "json"
|
7
|
+
|
8
|
+
module SkinbaronApiClient
|
9
|
+
class Logger
|
10
|
+
include Singleton
|
11
|
+
|
12
|
+
LEVELS = %i[debug info warn error fatal].freeze
|
13
|
+
|
14
|
+
attr_reader :logs, :request_logs
|
15
|
+
|
16
|
+
class << self
|
17
|
+
def configure(base_path: nil, request_log_path: nil, error_log_path: nil)
|
18
|
+
instance.configure(base_path, request_log_path, error_log_path)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def initialize
|
23
|
+
reset!
|
24
|
+
@logger = ::Logger.new($stdout)
|
25
|
+
@logger.level = ::Logger::INFO
|
26
|
+
end
|
27
|
+
|
28
|
+
def configure(base_path, request_log_path, error_log_path)
|
29
|
+
@base_path = base_path
|
30
|
+
@request_log_path = request_log_path
|
31
|
+
@error_log_path = error_log_path
|
32
|
+
|
33
|
+
setup_loggers if should_setup_loggers?
|
34
|
+
end
|
35
|
+
|
36
|
+
def reset!
|
37
|
+
@logs = []
|
38
|
+
@request_logs = []
|
39
|
+
end
|
40
|
+
|
41
|
+
def log(request_data)
|
42
|
+
log_data = request_data.merge(timestamp: Time.now)
|
43
|
+
@request_logs << log_data
|
44
|
+
|
45
|
+
return unless @request_logger
|
46
|
+
|
47
|
+
case log_data[:type]
|
48
|
+
when "REQUEST"
|
49
|
+
@request_logger.info("\n\n#{"=" * 80}")
|
50
|
+
@request_logger.info(JSON.pretty_generate(log_data))
|
51
|
+
when "RESPONSE"
|
52
|
+
@request_logger.info("\n#{"-" * 80}")
|
53
|
+
@request_logger.info(JSON.pretty_generate(log_data))
|
54
|
+
@request_logger.info("#{"=" * 80}\n")
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
LEVELS.each do |level|
|
59
|
+
define_method(level) do |message, metadata = {}|
|
60
|
+
entry = {
|
61
|
+
timestamp: Time.now,
|
62
|
+
level: level,
|
63
|
+
message: message,
|
64
|
+
metadata: metadata
|
65
|
+
}
|
66
|
+
|
67
|
+
@logs << entry
|
68
|
+
@logger.send(level, message)
|
69
|
+
write_to_log(@error_logger, entry) if @error_logger && level == :error
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
private
|
74
|
+
|
75
|
+
def should_setup_loggers?
|
76
|
+
@base_path || @request_log_path || @error_log_path
|
77
|
+
end
|
78
|
+
|
79
|
+
def setup_loggers
|
80
|
+
if @request_log_path || (@base_path && !@request_log_path)
|
81
|
+
path = @request_log_path || File.join(@base_path, "requests.log")
|
82
|
+
@request_logger = setup_file_logger(path)
|
83
|
+
end
|
84
|
+
|
85
|
+
return unless @error_log_path || (@base_path && !@error_log_path)
|
86
|
+
|
87
|
+
path = @error_log_path || File.join(@base_path, "errors.log")
|
88
|
+
@error_logger = setup_file_logger(path)
|
89
|
+
end
|
90
|
+
|
91
|
+
def setup_file_logger(path)
|
92
|
+
FileUtils.mkdir_p(File.dirname(path))
|
93
|
+
::Logger.new(path, "daily")
|
94
|
+
end
|
95
|
+
|
96
|
+
def write_to_log(logger, entry)
|
97
|
+
logger.info(JSON.pretty_generate(entry))
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# lib/skinbaron_api_client.rb
|
2
|
+
|
3
|
+
# frozen_string_literal: true
|
4
|
+
|
5
|
+
require "http"
|
6
|
+
require "json"
|
7
|
+
require_relative "skinbaron_api_client/version"
|
8
|
+
require_relative "skinbaron_api_client/client"
|
9
|
+
require_relative "skinbaron_api_client/logger"
|
10
|
+
require_relative "skinbaron_api_client/error_handling"
|
11
|
+
|
12
|
+
# Example usage:
|
13
|
+
#
|
14
|
+
# skinbaron = SkinbaronApiClient::Client.new(api_key: "your-api-key")
|
15
|
+
#
|
16
|
+
# # Search for a specific CS2 item
|
17
|
+
# response = skinbaron.search(item: "AK-47 | Asiimov")
|
18
|
+
#
|
19
|
+
module SkinbaronApiClient
|
20
|
+
class Error < StandardError; end
|
21
|
+
|
22
|
+
class AuthenticationError < Error; end
|
23
|
+
|
24
|
+
class RequestError < Error; end
|
25
|
+
|
26
|
+
class ResponseError < Error; end
|
27
|
+
end
|
data/logs/errors.log
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
I, [2024-12-25T19:36:09.018283 #74992] INFO -- : {
|
2
|
+
"timestamp": "2024-12-25 19:36:09 +0100",
|
3
|
+
"level": "error",
|
4
|
+
"message": "Authentication failed",
|
5
|
+
"metadata": {
|
6
|
+
"body": "{\"wrong or unauthenticated request\"}"
|
7
|
+
}
|
8
|
+
}
|
9
|
+
I, [2024-12-25T19:38:09.427416 #75213] INFO -- : {
|
10
|
+
"timestamp": "2024-12-25 19:38:09 +0100",
|
11
|
+
"level": "error",
|
12
|
+
"message": "Authentication failed",
|
13
|
+
"metadata": {
|
14
|
+
"body": "{\"wrong or unauthenticated request\"}"
|
15
|
+
}
|
16
|
+
}
|
17
|
+
I, [2024-12-25T19:40:13.146024 #75656] INFO -- : {
|
18
|
+
"timestamp": "2024-12-25 19:40:13 +0100",
|
19
|
+
"level": "error",
|
20
|
+
"message": "Authentication failed",
|
21
|
+
"metadata": {
|
22
|
+
"body": "{\"wrong or unauthenticated request\"}"
|
23
|
+
}
|
24
|
+
}
|
data/logs/requests.log
ADDED
@@ -0,0 +1,134 @@
|
|
1
|
+
I, [2024-12-25T19:36:08.894241 #74992] INFO -- :
|
2
|
+
|
3
|
+
================================================================================
|
4
|
+
I, [2024-12-25T19:36:08.894290 #74992] INFO -- : {
|
5
|
+
"type": "REQUEST",
|
6
|
+
"url": "https://api.skinbaron.de/Search",
|
7
|
+
"method": "POST",
|
8
|
+
"headers": {
|
9
|
+
"Content-Type": "application/json",
|
10
|
+
"Accept": "application/json",
|
11
|
+
"X-Requested-With": "XMLHttpRequest"
|
12
|
+
},
|
13
|
+
"body": {
|
14
|
+
"search_item": "AK-47 | Redline"
|
15
|
+
},
|
16
|
+
"timestamp": "2024-12-25 19:36:08 +0100"
|
17
|
+
}
|
18
|
+
I, [2024-12-25T19:36:09.018122 #74992] INFO -- :
|
19
|
+
--------------------------------------------------------------------------------
|
20
|
+
I, [2024-12-25T19:36:09.018197 #74992] INFO -- : {
|
21
|
+
"type": "RESPONSE",
|
22
|
+
"url": "https://api.skinbaron.de/Search",
|
23
|
+
"status": "200 OK",
|
24
|
+
"headers": {
|
25
|
+
"Date": "Wed, 25 Dec 2024 18:36:09 GMT",
|
26
|
+
"Content-Type": "application/json",
|
27
|
+
"Transfer-Encoding": "chunked",
|
28
|
+
"Connection": "close",
|
29
|
+
"vary": "Accept-Encoding",
|
30
|
+
"content-security-policy": [
|
31
|
+
"upgrade-insecure-requests; frame-ancestors 'none'",
|
32
|
+
"upgrade-insecure-requests; frame-ancestors 'none'"
|
33
|
+
],
|
34
|
+
"x-frame-options": [
|
35
|
+
"DENY",
|
36
|
+
"DENY"
|
37
|
+
],
|
38
|
+
"CF-Cache-Status": "DYNAMIC",
|
39
|
+
"Strict-Transport-Security": "max-age=15552000",
|
40
|
+
"Server": "cloudflare",
|
41
|
+
"CF-RAY": "8f7aef5c7b02e504-TXL",
|
42
|
+
"alt-svc": "h3=\":443\"; ma=86400"
|
43
|
+
},
|
44
|
+
"body": "{\"wrong or unauthenticated request\"}",
|
45
|
+
"timestamp": "2024-12-25 19:36:09 +0100"
|
46
|
+
}
|
47
|
+
I, [2024-12-25T19:36:09.018209 #74992] INFO -- : ================================================================================
|
48
|
+
|
49
|
+
I, [2024-12-25T19:38:09.261113 #75213] INFO -- :
|
50
|
+
|
51
|
+
================================================================================
|
52
|
+
I, [2024-12-25T19:38:09.261198 #75213] INFO -- : {
|
53
|
+
"type": "REQUEST",
|
54
|
+
"url": "https://api.skinbaron.de/Search",
|
55
|
+
"method": "POST",
|
56
|
+
"headers": {
|
57
|
+
"Content-Type": "application/json",
|
58
|
+
"Accept": "application/json",
|
59
|
+
"X-Requested-With": "XMLHttpRequest"
|
60
|
+
},
|
61
|
+
"body": {
|
62
|
+
"search_item": "AK-47 | Redline"
|
63
|
+
},
|
64
|
+
"timestamp": "2024-12-25 19:38:09 +0100"
|
65
|
+
}
|
66
|
+
I, [2024-12-25T19:38:09.426899 #75213] INFO -- :
|
67
|
+
--------------------------------------------------------------------------------
|
68
|
+
I, [2024-12-25T19:38:09.427091 #75213] INFO -- : {
|
69
|
+
"type": "RESPONSE",
|
70
|
+
"url": "https://api.skinbaron.de/Search",
|
71
|
+
"status": "200 OK",
|
72
|
+
"body": "{\"wrong or unauthenticated request\"}",
|
73
|
+
"timestamp": "2024-12-25 19:38:09 +0100"
|
74
|
+
}
|
75
|
+
I, [2024-12-25T19:38:09.427137 #75213] INFO -- : ================================================================================
|
76
|
+
|
77
|
+
I, [2024-12-25T19:40:13.010404 #75656] INFO -- :
|
78
|
+
|
79
|
+
================================================================================
|
80
|
+
I, [2024-12-25T19:40:13.010452 #75656] INFO -- : {
|
81
|
+
"type": "REQUEST",
|
82
|
+
"url": "https://api.skinbaron.de/Search",
|
83
|
+
"method": "POST",
|
84
|
+
"headers": {
|
85
|
+
"Content-Type": "application/json",
|
86
|
+
"Accept": "application/json",
|
87
|
+
"X-Requested-With": "XMLHttpRequest"
|
88
|
+
},
|
89
|
+
"body": {
|
90
|
+
"search_item": "AK-47 | Redline"
|
91
|
+
},
|
92
|
+
"timestamp": "2024-12-25 19:40:13 +0100"
|
93
|
+
}
|
94
|
+
I, [2024-12-25T19:40:13.145802 #75656] INFO -- :
|
95
|
+
--------------------------------------------------------------------------------
|
96
|
+
I, [2024-12-25T19:40:13.145908 #75656] INFO -- : {
|
97
|
+
"type": "RESPONSE",
|
98
|
+
"url": "https://api.skinbaron.de/Search",
|
99
|
+
"status": "200 OK",
|
100
|
+
"body": "{\"wrong or unauthenticated request\"}",
|
101
|
+
"timestamp": "2024-12-25 19:40:13 +0100"
|
102
|
+
}
|
103
|
+
I, [2024-12-25T19:40:13.145924 #75656] INFO -- : ================================================================================
|
104
|
+
|
105
|
+
I, [2024-12-25T19:43:21.593068 #76179] INFO -- :
|
106
|
+
|
107
|
+
================================================================================
|
108
|
+
I, [2024-12-25T19:43:21.593116 #76179] INFO -- : {
|
109
|
+
"type": "REQUEST",
|
110
|
+
"url": "https://api.skinbaron.de/Search",
|
111
|
+
"method": "POST",
|
112
|
+
"headers": {
|
113
|
+
"Content-Type": "application/json",
|
114
|
+
"Accept": "application/json",
|
115
|
+
"X-Requested-With": "XMLHttpRequest"
|
116
|
+
},
|
117
|
+
"body": {
|
118
|
+
"apikey": "110295-84d61d7d-b4ff-4104-ac0b-dc1ed64d6e6c",
|
119
|
+
"appid": 730,
|
120
|
+
"search_item": "AK-47 | Redline"
|
121
|
+
},
|
122
|
+
"timestamp": "2024-12-25 19:43:21 +0100"
|
123
|
+
}
|
124
|
+
I, [2024-12-25T19:43:22.007266 #76179] INFO -- :
|
125
|
+
--------------------------------------------------------------------------------
|
126
|
+
I, [2024-12-25T19:43:22.007656 #76179] INFO -- : {
|
127
|
+
"type": "RESPONSE",
|
128
|
+
"url": "https://api.skinbaron.de/Search",
|
129
|
+
"status": "200 OK",
|
130
|
+
"body": "{\"sales\":[{\"id\":\"c4845463-d9d5-430d-9ebe-7ce5ed30f2c6\",\"price\":114.71,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPv9NLPF2DIA6cAn3uuZ8dj231e380VtYm70d4-UJlU-ZgmC81W6kObmgJ--7ZvXiSw0hXLDIUU\",\"market_name\":\"AK-47 | Redline (Minimal Wear)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=c4845463-d9d5-430d-9ebe-7ce5ed30f2c6&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199092872952A40686887800D10106194576523419963\",\"stickers\":\"FaZe | 2020 RMR, FaZe | 2020 RMR, FaZe | 2020 RMR, FaZe | 2020 RMR\",\"wear\":0.1489729,\"appid\":730},{\"id\":\"bb8cf983-92f3-4f07-9234-3a446ec83563\",\"price\":124.1,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPv9NLPF2DIA6cAn3uuZ8dj231e380VtYm70d4-UJlU-ZgmC81W6kObmgJ--7ZvXiSw0hXLDIUU\",\"market_name\":\"AK-47 | Redline (Minimal Wear)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=bb8cf983-92f3-4f07-9234-3a446ec83563&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199212742159A27161513191D14584006094922902487\",\"stickers\":\"Natus Vincere | Antwerp 2022, Natus Vincere | Antwerp 2022, Natus Vincere | Antwerp 2022, dav1d | Antwerp 2022\",\"wear\":0.14778388,\"appid\":730},{\"id\":\"45760534-83ac-4b28-ad7f-f3676a53fac2\",\"price\":124.1,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPv9NLPF2DIA6cAn3uuZ8dj231e380VtYm70d4-UJlU-ZgmC81W6kObmgJ--7ZvXiSw0hXLDIUU\",\"market_name\":\"AK-47 | Redline (Minimal Wear)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=45760534-83ac-4b28-ad7f-f3676a53fac2&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199165532077A27161580333D12315203965674873209\",\"stickers\":\"Virtus.Pro | Boston 2018, Virtus.Pro | Boston 2018, Virtus.Pro | Boston 2018, Virtus.Pro | Boston 2018\",\"wear\":0.14972886,\"appid\":730},{\"id\":\"ef9fba14-2650-461b-befd-f53c75cef023\",\"price\":124.1,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPv9NLPF2DIA6cAn3uuZ8dj231e380VtYm70d4-UJlU-ZgmC81W6kObmgJ--7ZvXiSw0hXLDIUU\",\"market_name\":\"AK-47 | Redline (Minimal Wear)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=ef9fba14-2650-461b-befd-f53c75cef023&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199213940006A27161548912D11684851768491009977\",\"stickers\":\"Toxic (Foil), Chabo, Killjoy, Guardian Dragon (Foil)\",\"wear\":0.14810637,\"appid\":730},{\"id\":\"6edf5161-c419-441a-a383-7475ebaa6eda\",\"price\":124.1,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPv9NLPF2DIA6cAn3uuZ8dj231e380VtYm70d4-UJlU-ZgmC81W6kObmgJ--7ZvXiSw0hXLDIUU\",\"market_name\":\"AK-47 | Redline (Minimal Wear)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=6edf5161-c419-441a-a383-7475ebaa6eda&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199118472233A29091216706D14891194971717151061\",\"stickers\":\"Twistzz | Berlin 2019, Twistzz | Berlin 2019, FaZe Clan (Holo) | Stockholm 2021, Team Liquid (Holo) | Stockholm 2021\",\"wear\":0.1462733,\"appid\":730},{\"id\":\"26603fda-d982-4574-b3ae-5221912b2573\",\"price\":124.1,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPv9NLPF2DIA6cAn3uuZ8dj231e380VtYm70d4-UJlU-ZgmC81W6kObmgJ--7ZvXiSw0hXLDIUU\",\"market_name\":\"AK-47 | Redline (Minimal Wear)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=26603fda-d982-4574-b3ae-5221912b2573&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199213940006A27161548903D5197189476192930299\",\"stickers\":\"Firestarter (Holo), Assassin\",\"wear\":0.14949936,\"appid\":730},{\"id\":\"ff449e80-4b1e-4429-b805-57dcbf8c7549\",\"price\":124.1,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPv9NLPF2DIA6cAn3uuZ8dj231e380VtYm70d4-UJlU-ZgmC81W6kObmgJ--7ZvXiSw0hXLDIUU\",\"market_name\":\"AK-47 | Redline (Minimal Wear)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=ff449e80-4b1e-4429-b805-57dcbf8c7549&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199216000601A27161448065D14007497127387744157\",\"stickers\":\"Fearsome (Holo)\",\"wear\":0.14794262,\"appid\":730},{\"id\":\"a3592174-167c-4f86-b79f-7787c8079bfa\",\"price\":124.1,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPv9NLPF2DIA6cAn3uuZ8dj231e380VtYm70d4-UJlU-ZgmC81W6kObmgJ--7ZvXiSw0hXLDIUU\",\"market_name\":\"AK-47 | Redline (Minimal Wear)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=a3592174-167c-4f86-b79f-7787c8079bfa&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199216000601A27161448099D14267447775634679259\",\"stickers\":\"Astralis | Cologne 2016\",\"wear\":0.14892904,\"appid\":730},{\"id\":\"72e538fc-39a6-47b8-995f-0058204db79f\",\"price\":124.1,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPv9NLPF2DIA6cAn3uuZ8dj231e380VtYm70d4-UJlU-ZgmC81W6kObmgJ--7ZvXiSw0hXLDIUU\",\"market_name\":\"AK-47 | Redline (Minimal Wear)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=72e538fc-39a6-47b8-995f-0058204db79f&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199216000601A27161448085D12404721943343810879\",\"stickers\":\"Tyloo | London 2018, Tyloo | London 2018, Tyloo | London 2018, Astralis | Cologne 2016\",\"wear\":0.14861035,\"appid\":730},{\"id\":\"c0d78b77-b5e0-4333-938f-e5ce3f4416e0\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=c0d78b77-b5e0-4333-938f-e5ce3f4416e0&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199212537610A27161860332D2597106579562464635\",\"stickers\":\"Kimberly, Dosia | London 2018, FURIA (Foil) | Katowice 2019, FURIA (Foil) | Katowice 2019\",\"wear\":0.36593357,\"appid\":730},{\"id\":\"8a73083f-03cc-4acc-8371-bba39cf68ca6\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=8a73083f-03cc-4acc-8371-bba39cf68ca6&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199212537610A27161860785D10100518855627113751\",\"stickers\":\"SK Gaming (Holo) | Krakow 2017\",\"wear\":0.35952675,\"appid\":730},{\"id\":\"9599cbd6-1e93-4860-9ab2-976659cf9af0\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=9599cbd6-1e93-4860-9ab2-976659cf9af0&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199165262886A27161901877D7830676185483996945\",\"stickers\":\"Kimberly, Kimberly, Kimberly\",\"wear\":0.35418183,\"appid\":730},{\"id\":\"194a1873-74b0-414c-bfb6-a0983e9ac675\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=194a1873-74b0-414c-bfb6-a0983e9ac675&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199212537610A27161860663D14764750947557335487\",\"stickers\":\"Last Vance, Last Vance\",\"wear\":0.3643797,\"appid\":730},{\"id\":\"79813d56-7cda-4eb2-84c9-d063a3d9b158\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=79813d56-7cda-4eb2-84c9-d063a3d9b158&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199165262886A27161901862D6972819648111209309\",\"stickers\":\"Nuke Beast, Incineration, G2 Esports | Cologne 2016, Gambit Gaming (Holo) | Cologne 2016\",\"wear\":0.35524774,\"appid\":730},{\"id\":\"6fc05d28-c2b3-43b9-9245-a3d7c38d7b24\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=6fc05d28-c2b3-43b9-9245-a3d7c38d7b24&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199165262886A27161901997D14027099076915758997\",\"stickers\":\"Astralis | Cologne 2016, Astralis | Boston 2018, Astralis | Krakow 2017\",\"wear\":0.35390562,\"appid\":730},{\"id\":\"01007616-1aeb-45ed-8321-24650774363a\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=01007616-1aeb-45ed-8321-24650774363a&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199212670720A27665597197D11541158218573195227\",\"stickers\":\"Spirit | 2020 RMR, FaZe | 2020 RMR, FURIA (Holo) | 2020 RMR, Global Elite\",\"wear\":0.36142665,\"appid\":730},{\"id\":\"d75615d3-9f9d-40ed-abc3-2a799f687a95\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=d75615d3-9f9d-40ed-abc3-2a799f687a95&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199092472347A35263013408D622071530836339667\",\"stickers\":\"Astralis | Antwerp 2022, Astralis | Antwerp 2022, Astralis | Antwerp 2022, Astralis | Antwerp 2022\",\"wear\":0.33953148,\"appid\":730},{\"id\":\"808d4923-777a-41f3-9c6e-da4b471b1219\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=808d4923-777a-41f3-9c6e-da4b471b1219&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199165262886A27161902015D3327079048815085329\",\"stickers\":\"North | Berlin 2019, North | Berlin 2019, North | Berlin 2019, North | Berlin 2019\",\"wear\":0.3619181,\"appid\":730},{\"id\":\"64d89e36-4a35-4f71-8b38-14b9d4307a82\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=64d89e36-4a35-4f71-8b38-14b9d4307a82&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199165262886A27161901991D7974404353616815507\",\"stickers\":\"\",\"wear\":0.36278525,\"appid\":730},{\"id\":\"b405cde2-f23d-40f1-8392-a4c4030c60c5\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=b405cde2-f23d-40f1-8392-a4c4030c60c5&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199212537610A27161860753D2317220790506498549\",\"stickers\":\"ESPADA | 2020 RMR, ESPADA | 2020 RMR, Mister Chief, Poorly Drawn Terrorist\",\"wear\":0.34183887,\"appid\":730},{\"id\":\"1e36ab1a-546e-4395-8a2d-a315554f081e\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=1e36ab1a-546e-4395-8a2d-a315554f081e&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199165262886A27161901889D16486592117536350559\",\"stickers\":\"LEGIJA | Krakow 2017, Lekr0 | London 2018, xsepower | Berlin 2019, xsepower | Berlin 2019\",\"wear\":0.3610359,\"appid\":730},{\"id\":\"e9b33b1d-0eb2-4527-8be9-6fa6e497b807\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=e9b33b1d-0eb2-4527-8be9-6fa6e497b807&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199212537610A27161860311D11971287182853065651\",\"stickers\":\"Magisk (Foil) | Katowice 2019, mousesports | Cologne 2015, mousesports | Cologne 2015\",\"wear\":0.36161497,\"appid\":730},{\"id\":\"e21861d3-bfb5-495d-9387-8636e6e1c88f\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=e21861d3-bfb5-495d-9387-8636e6e1c88f&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199153784677A36043124762D12145122489602730779\",\"stickers\":\"jkaem | Cologne 2016, aizy | Cologne 2016, rain | Cologne 2016, FaZe Clan | Atlanta 2017\",\"wear\":0.3440445,\"appid\":730},{\"id\":\"936eccd4-2b19-40b8-a632-57ec8a31b00c\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=936eccd4-2b19-40b8-a632-57ec8a31b00c&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199165262886A27161901841D2615089923780571005\",\"stickers\":\"Tyloo | London 2018, Tyloo | London 2018, Tyloo | London 2018, Kimberly\",\"wear\":0.35436842,\"appid\":730},{\"id\":\"1dec8591-0d1e-4e1f-a5d8-707f1bde9a96\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=1dec8591-0d1e-4e1f-a5d8-707f1bde9a96&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199212537610A27161860760D884619015032318335\",\"stickers\":\"\",\"wear\":0.36709404,\"appid\":730},{\"id\":\"35dfc92c-d3de-49f2-83be-c907319b22ed\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=35dfc92c-d3de-49f2-83be-c907319b22ed&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199212537610A27161860602D7110869542429804341\",\"stickers\":\"Fire in the Hole (Holo)\",\"wear\":0.35496017,\"appid\":730},{\"id\":\"86ccf35b-e257-4a61-ac58-54484f19329f\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=86ccf35b-e257-4a61-ac58-54484f19329f&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199212537610A27161860717D884619015032318335\",\"stickers\":\"\",\"wear\":0.36851743,\"appid\":730},{\"id\":\"20f9a851-2cc7-4afb-9d82-54f76f9a1064\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=20f9a851-2cc7-4afb-9d82-54f76f9a1064&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199212537610A27161860483D14178106535867508567\",\"stickers\":\"fitch | Boston 2018, fitch | Boston 2018, fitch | Boston 2018, fitch | Katowice 2019\",\"wear\":0.35782862,\"appid\":730},{\"id\":\"73ca3f99-bec2-418c-8b92-012667adc98a\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=73ca3f99-bec2-418c-8b92-012667adc98a&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199212537610A27161860437D884619015032318335\",\"stickers\":\"\",\"wear\":0.3403599,\"appid\":730},{\"id\":\"4c9db83e-d337-4050-b378-52427c7c0543\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=4c9db83e-d337-4050-b378-52427c7c0543&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199104524651A36663984305D9578174409424785277\",\"stickers\":\"\",\"wear\":0.34468523,\"appid\":730},{\"id\":\"8ef4e672-9629-43c3-bbbf-ed4430659351\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=8ef4e672-9629-43c3-bbbf-ed4430659351&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199212537610A27161860498D4674913085090728403\",\"stickers\":\"rain | Katowice 2019\",\"wear\":0.37803152,\"appid\":730},{\"id\":\"c01df85e-27b4-43eb-973a-216f4a6e4671\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=c01df85e-27b4-43eb-973a-216f4a6e4671&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199165262886A27161902113D884619015032318335\",\"stickers\":\"\",\"wear\":0.36808738,\"appid\":730},{\"id\":\"fade52df-d49c-4784-adcb-775ccdcb582c\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=fade52df-d49c-4784-adcb-775ccdcb582c&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199101680171A27806028049D2786039322173517145\",\"stickers\":\"The Lurker\",\"wear\":0.34877136,\"appid\":730},{\"id\":\"b0256a10-41e2-46d7-ab35-2db896e09fc8\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=b0256a10-41e2-46d7-ab35-2db896e09fc8&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199127298315A39388265370D3215716020694559515\",\"stickers\":\"Battle Scarred, Battle Scarred, FaZe Clan | Paris 2023, FaZe Clan | Paris 2023\",\"wear\":0.35427326,\"appid\":730},{\"id\":\"a5bdd9f2-9297-46d8-a4bc-52205961236e\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=a5bdd9f2-9297-46d8-a4bc-52205961236e&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199212537610A27161860568D884619015032318335\",\"stickers\":\"\",\"wear\":0.35557264,\"appid\":730},{\"id\":\"6201daa4-4c67-439f-8259-fd960a508f20\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=6201daa4-4c67-439f-8259-fd960a508f20&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199212537610A27161860775D884619015032318335\",\"stickers\":\"\",\"wear\":0.3682747,\"appid\":730},{\"id\":\"63a41d48-4b78-457a-8205-978435d15992\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=63a41d48-4b78-457a-8205-978435d15992&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199213890344A36735915734D10118544533185800567\",\"stickers\":\"\",\"wear\":0.3639083,\"appid\":730},{\"id\":\"b2b7183b-6598-43dc-9038-7ceec9ac4075\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=b2b7183b-6598-43dc-9038-7ceec9ac4075&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199212537610A27161860351D2513053160623370067\",\"stickers\":\"cajunb | Krakow 2017, cajunb | Krakow 2017, cajunb | Krakow 2017, cajunb | Krakow 2017\",\"wear\":0.35867164,\"appid\":730},{\"id\":\"84f2be6a-b8d3-4f77-9fce-d0f881703ea0\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=84f2be6a-b8d3-4f77-9fce-d0f881703ea0&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199165262886A27161902107D9864792000050766291\",\"stickers\":\"FaZe | 2020 RMR\",\"wear\":0.36496872,\"appid\":730},{\"id\":\"91b64834-4f64-4e54-954e-3371edc6990b\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=91b64834-4f64-4e54-954e-3371edc6990b&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199065443768A29089054956D12127257195813326673\",\"stickers\":\"\",\"wear\":0.3667569,\"appid\":730},{\"id\":\"f9db078d-5fd1-451a-814c-1551d212e034\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=f9db078d-5fd1-451a-814c-1551d212e034&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199206743233A35886010358D1026865383982408703\",\"stickers\":\"Astralis | Berlin 2019, Astralis | Katowice 2019, Astralis | London 2018, Astralis | Boston 2018\",\"wear\":0.34767434,\"appid\":730},{\"id\":\"0ae4dfda-8723-4faa-b21d-2728226c6375\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=0ae4dfda-8723-4faa-b21d-2728226c6375&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199165262886A27161902043D5675312201809039345\",\"stickers\":\"Astralis | Atlanta 2017, device | Atlanta 2017\",\"wear\":0.36043766,\"appid\":730},{\"id\":\"0e571fd0-38db-4e1e-850b-50651e0b3f96\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=0e571fd0-38db-4e1e-850b-50651e0b3f96&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199097328742A38889031247D11740321693171361173\",\"stickers\":\"The MongolZ (Glitter) | Copenhagen 2024, The MongolZ (Glitter) | Paris 2023, The MongolZ (Glitter) | Paris 2023, The MongolZ (Glitter) | Paris 2023, BLAST.tv | Paris 2023\",\"wear\":0.34977517,\"appid\":730},{\"id\":\"3814d050-0d3e-4317-b559-c08eefa15b7f\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=3814d050-0d3e-4317-b559-c08eefa15b7f&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199165262886A27161902099D9666103788350007763\",\"stickers\":\"\",\"wear\":0.35477024,\"appid\":730},{\"id\":\"0d3aa8ee-c9db-4b8f-9f4b-27597a8257e5\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=0d3aa8ee-c9db-4b8f-9f4b-27597a8257e5&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199128553146A29026887512D12127257195813326673\",\"stickers\":\"\",\"wear\":0.34275055,\"appid\":730},{\"id\":\"ea3be08a-8491-431b-9a75-5c729010f562\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=ea3be08a-8491-431b-9a75-5c729010f562&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561198997487863A28324330126D5648259833795879287\",\"stickers\":\"Astralis | London 2018, Astralis | London 2018, Astralis | London 2018, Astralis | London 2018\",\"wear\":0.3699473,\"appid\":730},{\"id\":\"cee850ad-7d9f-46c6-9a20-8b9d388302e5\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=cee850ad-7d9f-46c6-9a20-8b9d388302e5&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199236240076A36042801901D5224213152480158481\",\"stickers\":\"Into The Breach | Paris 2023, Into The Breach | Paris 2023, Into The Breach | Paris 2023, Into The Breach | Paris 2023\",\"wear\":0.34095934,\"appid\":730},{\"id\":\"8018517e-7fc6-481a-ba64-79d686884f4a\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=8018517e-7fc6-481a-ba64-79d686884f4a&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199212537610A27161860529D14297467336812031381\",\"stickers\":\"gla1ve | Berlin 2019, gla1ve | Berlin 2019, gla1ve | Berlin 2019, compLexity Gaming | Katowice 2019\",\"wear\":0.35725662,\"appid\":730},{\"id\":\"2d96b444-b70a-48e1-9cb1-03b92899c235\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=2d96b444-b70a-48e1-9cb1-03b92899c235&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199212537610A27161860770D884619015032318335\",\"stickers\":\"\",\"wear\":0.35330886,\"appid\":730},{\"id\":\"3c207888-0e7a-4feb-a268-b6d357a525f7\",\"price\":62.52,\"img\":\"https://steamcommunity-a.akamaihd.net/economy/image/-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot7HxfDhjxszJemkV09-5lpKKqPrxN7LEmyVS7cYg3LuT94qm21GyqUpsa2j7IIDDJwI7YwvRrFi7lOa5hpfpvs_A1zI97fpmYHCU\",\"market_name\":\"StatTrak™ AK-47 | Redline (Field-Tested)\",\"sbinspect\":\"https://skinbaron.de/offers/show?offerUuid=3c207888-0e7a-4feb-a268-b6d357a525f7&productName=AK-47+%7C+Redline\",\"inspect\":\"steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561199212537610A27161860654D14287674817919846713\",\"stickers\":\"Zeus | Berlin 2019, Green Swallow, Guardian Dragon\",\"wear\":0.3533091,\"appid\":730}]}",
|
131
|
+
"timestamp": "2024-12-25 19:43:22 +0100"
|
132
|
+
}
|
133
|
+
I, [2024-12-25T19:43:22.007776 #76179] INFO -- : ================================================================================
|
134
|
+
|
metadata
ADDED
@@ -0,0 +1,102 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: skinbaron_api_client
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Sam Schams
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2024-12-25 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: http
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '5.2'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '5.2'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: logger
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.6'
|
34
|
+
- - ">="
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: 1.6.4
|
37
|
+
type: :runtime
|
38
|
+
prerelease: false
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - "~>"
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '1.6'
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 1.6.4
|
47
|
+
description: A Ruby client library for the SkinBaron API - my first Ruby gem. Provides
|
48
|
+
basic functionality for searching CS2 (formerly CS:GO) items on the SkinBaron marketplace.
|
49
|
+
Includes error handling, request logging, and a straightforward API design for interacting
|
50
|
+
with SkinBaron's marketplace data.
|
51
|
+
email:
|
52
|
+
- 94133186+shazam442@users.noreply.github.com
|
53
|
+
executables: []
|
54
|
+
extensions: []
|
55
|
+
extra_rdoc_files: []
|
56
|
+
files:
|
57
|
+
- ".rubocop.yml"
|
58
|
+
- ".tool-versions"
|
59
|
+
- CHANGELOG.md
|
60
|
+
- LICENSE.txt
|
61
|
+
- README.md
|
62
|
+
- Rakefile
|
63
|
+
- lib/skinbaron_api_client.rb
|
64
|
+
- lib/skinbaron_api_client/client.rb
|
65
|
+
- lib/skinbaron_api_client/configuration.rb
|
66
|
+
- lib/skinbaron_api_client/endpoints/search.rb
|
67
|
+
- lib/skinbaron_api_client/error_handling.rb
|
68
|
+
- lib/skinbaron_api_client/http_client.rb
|
69
|
+
- lib/skinbaron_api_client/logger.rb
|
70
|
+
- lib/skinbaron_api_client/version.rb
|
71
|
+
- logs/errors.log
|
72
|
+
- logs/requests.log
|
73
|
+
- sig/skinbaron_api_client.rbs
|
74
|
+
homepage: https://github.com/shazam442/skinbaron-api-client
|
75
|
+
licenses:
|
76
|
+
- MIT
|
77
|
+
metadata:
|
78
|
+
allowed_push_host: https://rubygems.org
|
79
|
+
homepage_uri: https://github.com/shazam442/skinbaron-api-client
|
80
|
+
source_code_uri: https://github.com/shazam442/skinbaron-api-client
|
81
|
+
changelog_uri: https://github.com/shazam442/skinbaron-api-client/blob/main/CHANGELOG.md
|
82
|
+
post_install_message:
|
83
|
+
rdoc_options: []
|
84
|
+
require_paths:
|
85
|
+
- lib
|
86
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - ">="
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: 3.0.0
|
91
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
requirements: []
|
97
|
+
rubygems_version: 3.5.16
|
98
|
+
signing_key:
|
99
|
+
specification_version: 4
|
100
|
+
summary: A simple ruby client for interacting with the SkinBaron API simplifying the
|
101
|
+
access to item data and market data.
|
102
|
+
test_files: []
|