/******************************************************************************
 * Copyright (c)  2022 PingCAP                                                *
 * Licensed under the Apache License, Version 2.0 (the "License");            *
 * you may not use this file except in compliance with the License.           *
 * You may obtain a copy of the License at                                    *
 *                                                                            *
 * http://www.apache.org/licenses/LICENSE-2.0                                 *
 *                                                                            *
 * Unless required by applicable law or agreed to in writing, software        *
 * distributed under the License is distributed on an "AS IS" BASIS,          *
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   *
 * See the License for the specific language governing permissions and        *
 * limitations under the License.                                             *
 ******************************************************************************/

/*******************************************************************************
 * @File: requests.go
 * @Description:
 * @Author: jiangxunyu@pingcap.com
 * @Version: 1.0.0
 * @Date: 2022/7/8 15:57
*******************************************************************************/

package structs

import (
	"time"

	"github.com/gin-gonic/gin"
)

// GlobalServerRequestParametersKey global server parameters are stored in the key in gin context
const GlobalServerRequestParametersKey = "globalServerReqParamsKey"

var (
	LastCPUScaleTime    time.Time
	LastMemoryScaleTime time.Time
	LastStorage         time.Time
)

// RequestParameters
// @Description: define request parameters
type RequestParameters struct {
	CommonReqInfo

	Headers     map[string]string `json:"headers"`
	QueryParams map[string]string `json:"queryParams"`
	PathParams  []gin.Param       `json:"pathParams"`
	FormParams  map[string]string `json:"formParams"`
	BodyParams  string            `json:"bodyParams"`
}
