github.com/infraboard/keyauth@v0.8.1/apps/verifycode/http/code.go (about)

     1  package http
     2  
     3  import (
     4  	"context"
     5  	"net/http"
     6  
     7  	"github.com/infraboard/mcube/http/request"
     8  	"github.com/infraboard/mcube/http/response"
     9  
    10  	"github.com/infraboard/keyauth/apps/verifycode"
    11  )
    12  
    13  func (h *handler) IssueCodeByPass(w http.ResponseWriter, r *http.Request) {
    14  	req := verifycode.NewIssueCodeRequestByPass()
    15  	// 从Header中获取client凭证, 如果有
    16  	req.ClientId, req.ClientSecret, _ = r.BasicAuth()
    17  	if err := request.GetDataFromRequest(r, req); err != nil {
    18  		response.Failed(w, err)
    19  		return
    20  	}
    21  
    22  	req.IssueType = verifycode.IssueType_PASS
    23  
    24  	code, err := h.service.IssueCode(
    25  		context.Background(),
    26  		req,
    27  	)
    28  	if err != nil {
    29  		response.Failed(w, err)
    30  		return
    31  	}
    32  
    33  	response.Success(w, code)
    34  	return
    35  }
    36  
    37  func (h *handler) IssueCodeByToken(w http.ResponseWriter, r *http.Request) {
    38  	req := verifycode.NewIssueCodeRequestByToken()
    39  
    40  	code, err := h.service.IssueCode(
    41  		r.Context(),
    42  		req,
    43  	)
    44  	if err != nil {
    45  		response.Failed(w, err)
    46  		return
    47  	}
    48  
    49  	response.Success(w, code)
    50  	return
    51  }