-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathverbs.go
92 lines (83 loc) · 3.62 KB
/
verbs.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package goexoml
import "encoding/xml"
// Dial struct for the verb Dial which allows a number as plain test
//go:generate go run ./buildergenerator/buildergenerator.go -t Dial -f $GOFILE
type Dial struct {
XMLName xml.Name `xml:"Dial"`
Action string `xml:"action,attr,omitempty"`
Method string `xml:"method,attr,omitempty"`
Timeout int `xml:"timeout,attr,omitempty"`
HangupOnStar bool `xml:"hangupOnStar,attr,omitempty"`
TimeLimit int `xml:"timeLimit,attr,omitempty"`
CallerID string `xml:"callerId,attr,omitempty"`
Record bool `xml:"record,attr,omitempty"`
PlainNumber string `xml:",innerxml"`
Number *Number `xml:",innerxml"`
}
// Hangup struct for the verb Hangup
//go:generate go run ./buildergenerator/buildergenerator.go -t Hangup -f $GOFILE
type Hangup struct {
XMLName xml.Name `xml:"Hangup"`
}
// Play struct for the verb Play
//go:generate go run ./buildergenerator/buildergenerator.go -t Play -f $GOFILE
type Play struct {
XMLName xml.Name `xml:"Play"`
Loop int `xml:"loop,attr,omitempty"`
Digits int `xml:"digits,attr,omitempty"`
URL string `xml:",innerxml"`
}
// Record struct for the verb Record
//go:generate go run ./buildergenerator/buildergenerator.go -t Record -f $GOFILE
type Record struct {
XMLName xml.Name `xml:"Record"`
Action string `xml:"action,attr,omitempty"`
Method string `xml:"method,attr,omitempty"`
Timeout int `xml:"timeout,attr,omitempty"`
FinishOnKey string `xml:"finishOnKey,attr,omitempty"`
MaxLength int `xml:"maxLength,attr,omitempty"`
Transcribe bool `xml:"transcribe,attr,omitempty"`
TranscribeCallback string `xml:"transcribeCallback,attr,omitempty"`
PlayBeep bool `xml:"playBeep,attr,omitempty"`
Trim string `xml:"trim,attr,omitempty"`
}
// Redirect struct for the verb Redirect
//go:generate go run ./buildergenerator/buildergenerator.go -t Redirect -f $GOFILE
type Redirect struct {
XMLName xml.Name `xml:"Redirect"`
Method string `xml:"method,attr,omitempty"`
URL string `xml:",innerxml"`
}
// Say struct for the verb Say
//go:generate go run ./buildergenerator/buildergenerator.go -t Say -f $GOFILE
type Say struct {
XMLName xml.Name `xml:"Say"`
Voice string `xml:"voice,attr,omitempty"`
Language string `xml:"language,attr,omitempty"`
Loop int `xml:"loop,attr,omitempty"`
Text string `xml:",innerxml"`
}
// Gather struct for the verb Gather
//go:generate go run ./buildergenerator/buildergenerator.go -t Gather -f $GOFILE
type Gather struct {
XMLName xml.Name `xml:"Gather"`
Action string `xml:"action,attr,omitempty"`
Method string `xml:"method,attr,omitempty"`
Timeout int `xml:"timeout,attr,omitempty"`
FinishOnKey string `xml:"finishOnKey,attr,omitempty"`
NumDigits int `xml:"numDigits,attr,omitempty"`
Say *Say `xml:",innerxml"`
Play *Play `xml:",innerxml"`
}
// Number struct for the noun Number
//go:generate go run ./buildergenerator/buildergenerator.go -t Number -f $GOFILE
type Number struct {
XMLName xml.Name `xml:"Number"`
SendDigits string `xml:"sendDigits,attr,omitempty"`
URL string `xml:"URL,attr,omitempty"`
Method string `xml:"method,attr,omitempty"`
StatusCallbackEvent string `xml:"statusCallbackEvent,attr,omitempty"`
StatusCallback string `xml:"StatusCallback,attr,omitempty"`
StatusCallbackMethod string `xml:"StatusCallbackMethod,attr,omitempty"`
Noun string `xml:",innerxml"`
}