| All Verbs | /config/game |
|---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
Object = TypeVar('Object')
class RTPStrategies(IntEnum):
RNG = 0
DEFAULT = 1
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RoundConfiguration:
countdown_duration_in_seconds: int = 0
race_duration_in_seconds: int = 0
results_duration_in_seconds: int = 0
rtp_strategy: Optional[RTPStrategies] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GameConfiguration:
id: Optional[str] = None
queue_size: int = 0
round_configuration: Optional[RoundConfiguration] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetGameConfig:
pass
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /config/game HTTP/1.1
Host: grh1.api.bettor.webhop.biz
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<GetGameConfig xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Greyhounds.WebApi.ServiceModel" />
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<GameConfiguration xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Greyhounds.ReadModel">
<Id>String</Id>
<QueueSize>0</QueueSize>
<RoundConfiguration>
<CountdownDurationInSeconds>0</CountdownDurationInSeconds>
<RTPStrategy>RNG</RTPStrategy>
<RaceDurationInSeconds>0</RaceDurationInSeconds>
<ResultsDurationInSeconds>0</ResultsDurationInSeconds>
</RoundConfiguration>
</GameConfiguration>