-
Notifications
You must be signed in to change notification settings - Fork 0
/
api.go
37 lines (32 loc) · 794 Bytes
/
api.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
package pkg
import (
"context"
"fmt"
ddospb "github.com/cloverway/schema/pbgo/v2/ddos"
"github.com/shubhashreeb/ddos/store"
)
type DdosServer struct {
dbstore store.Store
ddospb.UnimplementedDdoSServiceServer
}
func NewDdosServer() *DdosServer {
return &DdosServer{
dbstore: store.NewDbStore(),
}
}
func (d *DdosServer) CreateDDos(ctx context.Context, req *ddospb.CreateRequest) (*ddospb.CreateHttpResponse, error) {
fmt.Println("CreateDDos is invoked")
res, err := d.dbstore.CreateDdos(store.DdosConfigReq{
Url: req.Url,
NumberRequests: req.NumberRequests,
Duration: req.Duration,
})
if err != nil {
fmt.Println("Error in creating db entry", err)
return nil, err
}
return &ddospb.CreateHttpResponse{
Uuid: res.Uuid,
Url: res.Url,
}, nil
}