| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package user
- import (
- "net/http"
- "net/url"
- "github.com/gorilla/schema"
- "github.com/porter-dev/porter/api/server/handlers"
- "github.com/porter-dev/porter/api/server/shared"
- "github.com/porter-dev/porter/api/server/shared/apierrors"
- "github.com/porter-dev/porter/api/server/shared/config"
- "github.com/porter-dev/porter/api/types"
- )
- type UserWelcomeHandler struct {
- handlers.PorterHandlerReadWriter
- }
- func NewUserWelcomeHandler(
- config *config.Config,
- decoderValidator shared.RequestDecoderValidator,
- writer shared.ResultWriter,
- ) *UserWelcomeHandler {
- return &UserWelcomeHandler{
- PorterHandlerReadWriter: handlers.NewDefaultPorterHandler(config, decoderValidator, writer),
- }
- }
- func (u *UserWelcomeHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
- reqVals := &types.WelcomeWebhookRequest{}
- if ok := u.DecodeAndValidate(w, r, reqVals); !ok {
- return
- }
- req, err := http.NewRequest("GET", u.Config().ServerConf.WelcomeFormWebhook, nil)
- if err != nil {
- return
- }
- encoder := schema.NewEncoder()
- dst := make(url.Values)
- if err := encoder.Encode(reqVals, dst); err != nil {
- u.HandleAPIError(w, r, apierrors.NewErrInternal(err))
- return
- }
- req.URL.RawQuery = dst.Encode()
- _, err = http.Get(req.URL.String())
- if err != nil {
- u.HandleAPIError(w, r, apierrors.NewErrInternal(err))
- return
- }
- }
|