| GET | /v1/Vehicle/Baumuster/csv | Returns Baumuster Data in CSV format |
|---|
# frozen_string_literal: true
# encoding: utf-8
require 'json'
require 'servicestack'
# @Flags
module CacheControl
NONE = 0
PUBLIC = 1
PRIVATE = 2
MUST_REVALIDATE = 4
NO_CACHE = 8
NO_STORE = 16
NO_TRANSFORM = 32
PROXY_REVALIDATE = 64
end
# @Flags
module RequestAttributes
NONE = 0
LOCALHOST = 1
LOCAL_SUBNET = 2
EXTERNAL = 4
SECURE = 8
IN_SECURE = 16
ANY_SECURITY_MODE = 24
HTTP_HEAD = 32
HTTP_GET = 64
HTTP_POST = 128
HTTP_PUT = 256
HTTP_DELETE = 512
HTTP_PATCH = 1024
HTTP_OPTIONS = 2048
HTTP_OTHER = 4096
ANY_HTTP_METHOD = 8160
ONE_WAY = 8192
REPLY = 16384
ANY_CALL_STYLE = 24576
SOAP11 = 32768
SOAP12 = 65536
XML = 131072
JSON = 262144
JSV = 524288
PROTO_BUF = 1048576
CSV = 2097152
HTML = 4194304
JSONL = 8388608
MSG_PACK = 16777216
FORMAT_OTHER = 33554432
ANY_FORMAT = 67076096
HTTP = 67108864
MESSAGE_QUEUE = 134217728
TCP = 268435456
GRPC = 536870912
ENDPOINT_OTHER = 1073741824
ANY_ENDPOINT = 2080374784
IN_PROCESS = -2147483648
INTERNAL_NETWORK_ACCESS = -2147483645
ANY_NETWORK_ACCESS_TYPE = -2147483641
ANY = -1
end
module IVirtualDirectory
end
module IVirtualPathProvider
# @return [IVirtualDirectory]
attr_accessor :root_directory
# @return [String]
attr_accessor :virtual_path_separator
# @return [String]
attr_accessor :real_path_separator
end
module IVirtualFile
# @return [IVirtualPathProvider]
attr_accessor :virtual_path_provider
# @return [String]
attr_accessor :extension
# @return [Integer]
attr_accessor :length
end
module IContentTypeWriter
end
module IResponse
# @return [Object]
attr_accessor :original_response
# @return [IRequest]
attr_accessor :request
# @return [Integer]
attr_accessor :status_code
# @return [String]
attr_accessor :status_description
# @return [String]
attr_accessor :content_type
# @return [String]
attr_accessor :output_stream
# @return [Object]
attr_accessor :dto
# @return [TrueClass]
attr_accessor :use_buffered_stream
# @return [TrueClass]
attr_accessor :is_closed
# @return [TrueClass]
attr_accessor :keep_alive
# @return [TrueClass]
attr_accessor :has_started
# @return [Dictionary]
attr_accessor :items
end
module IRequestPreferences
# @return [TrueClass]
attr_accessor :accepts_brotli
# @return [TrueClass]
attr_accessor :accepts_deflate
# @return [TrueClass]
attr_accessor :accepts_gzip
end
module IHttpFile
# @return [String]
attr_accessor :name
# @return [String]
attr_accessor :file_name
# @return [Integer]
attr_accessor :content_length
# @return [String]
attr_accessor :content_type
# @return [String]
attr_accessor :input_stream
end
module IRequest
# @return [Object]
attr_accessor :original_request
# @return [IResponse]
attr_accessor :response
# @return [String]
attr_accessor :operation_name
# @return [String]
attr_accessor :verb
# @return [RequestAttributes]
attr_accessor :request_attributes
# @return [IRequestPreferences]
attr_accessor :request_preferences
# @return [Object]
attr_accessor :dto
# @return [String]
attr_accessor :content_type
# @return [TrueClass]
attr_accessor :is_local
# @return [String]
attr_accessor :user_agent
# @return [IDictionary]
attr_accessor :cookies
# @return [String]
attr_accessor :response_content_type
# @return [TrueClass]
attr_accessor :has_explicit_response_content_type
# @return [Dictionary]
attr_accessor :items
# @return [NameValueCollection]
attr_accessor :headers
# @return [NameValueCollection]
attr_accessor :query_string
# @return [NameValueCollection]
attr_accessor :form_data
# @return [TrueClass]
attr_accessor :use_buffered_stream
# @return [String]
attr_accessor :raw_url
# @return [String]
attr_accessor :absolute_uri
# @return [String]
attr_accessor :user_host_address
# @return [String]
attr_accessor :remote_ip
# @return [String]
attr_accessor :authorization
# @return [TrueClass]
attr_accessor :is_secure_connection
# @return [Array]
attr_accessor :accept_types
# @return [String]
attr_accessor :path_info
# @return [String]
attr_accessor :original_path_info
# @return [String]
attr_accessor :input_stream
# @return [Integer]
attr_accessor :content_length
# @return [Array]
attr_accessor :files
# @return [String]
attr_accessor :url_referrer
# @return [CancellationToken]
attr_accessor :request_aborted
end
class HttpResult
include ServiceStack::DTO
# @return [String]
attr_accessor :response_text
# @return [String]
attr_accessor :response_stream
# @return [FileInfo]
attr_accessor :file_info
# @return [IVirtualFile]
attr_accessor :virtual_file
# @return [String]
attr_accessor :content_type
# @return [Dictionary]
attr_accessor :headers
# @return [List]
attr_accessor :cookies
# @return [String]
attr_accessor :e_tag
# @return [Time]
attr_accessor :age
# @return [Time]
attr_accessor :max_age
# @return [DateTime]
attr_accessor :expires
# @return [DateTime]
attr_accessor :last_modified
# @return [CacheControl]
attr_accessor :cache_control
# @return [Func]
attr_accessor :result_scope
# @return [TrueClass]
attr_accessor :allows_partial_response
# @return [IDictionary]
attr_accessor :options
# @return [Integer]
attr_accessor :status
# @return [HttpStatusCode]
attr_accessor :status_code
# @return [String]
attr_accessor :status_description
# @return [Object]
attr_accessor :response
# @return [IContentTypeWriter]
attr_accessor :response_filter
# @return [IRequest]
attr_accessor :request_context
# @return [String]
attr_accessor :view
# @return [String]
attr_accessor :template
# @return [Integer]
attr_accessor :padding_length
# @return [TrueClass]
attr_accessor :is_partial_request
def self.properties
{
response_text: { name: 'responseText' },
response_stream: { name: 'responseStream' },
file_info: { name: 'fileInfo' },
virtual_file: { name: 'virtualFile', type: IVirtualFile },
content_type: { name: 'contentType' },
headers: { name: 'headers' },
cookies: { name: 'cookies' },
e_tag: { name: 'eTag' },
age: { name: 'age' },
max_age: { name: 'maxAge' },
expires: { name: 'expires', type: DateTime },
last_modified: { name: 'lastModified', type: DateTime },
cache_control: { name: 'cacheControl' },
result_scope: { name: 'resultScope' },
allows_partial_response: { name: 'allowsPartialResponse' },
options: { name: 'options' },
status: { name: 'status' },
status_code: { name: 'statusCode' },
status_description: { name: 'statusDescription' },
response: { name: 'response' },
response_filter: { name: 'responseFilter', type: IContentTypeWriter },
request_context: { name: 'requestContext', type: IRequest },
view: { name: 'view' },
template: { name: 'template' },
padding_length: { name: 'paddingLength' },
is_partial_request: { name: 'isPartialRequest' },
}
end
end
class BaumusterOffersCSVRequest
include ServiceStack::DTO
def response_type() = HttpResult
def get_type_name() = 'BaumusterOffersCSVRequest'
end
Ruby BaumusterOffersCSVRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/Vehicle/Baumuster/csv HTTP/1.1 Host: uat-api-vehicle-mgt-mb-dhc.rapp-customers.co.uk Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{}