Commit df2a78f0 authored by chenhan wang's avatar chenhan wang
Browse files

本地调试1.0

parent d13a1335
......@@ -90,7 +90,7 @@ func GetFileContentType(fileType string) string {
}
// 设置cookie name sid, value link
func SetCookie(c echo.Context, cookie *http.Cookie, sid string, maxAge int, time_ time.Time) {
func SetCookie(c echo.Context, cookie *http.Cookie, sid string, maxAge int, time_ time.Time) error {
cookie.Name = "User" // 标识为user
//cookie.Value = string(uuid) // 通过uuid和数据库,确定user是谁
cookie.Value = sid
......@@ -110,6 +110,7 @@ func SetCookie(c echo.Context, cookie *http.Cookie, sid string, maxAge int, time
}
// 设置cookie
c.SetCookie(cookie)
return nil
}
func srcRead(c echo.Context, info *File) (src multipart.File, err error) {
......
......@@ -23,10 +23,6 @@ type File struct {
//Content string `json:"content"`
}
type Text struct {
text string `json:"text"`
}
func Ping(c echo.Context) error {
// just test
return response.SendResponse(c, http.StatusOK, "", "pong!")
......@@ -43,8 +39,8 @@ func RecvFile(c echo.Context) error {
}
// 创建目标文件,就是我们打算把用户上传的文件保存到什么地方
// info.Filename 参数指的是我们以用户上传的文件名,作为目标文件名,也就是服务端保存的文件名跟用户上传的文件名一样
//dst, filePath := dstCreate(info)
dst, _ := dstCreate(info)
dst, filePath := dstCreate(info)
//dst, _ := dstCreate(info)
defer dst.Close()
if !overflow(dst, 8*1024*1024) {
......@@ -58,11 +54,11 @@ func RecvFile(c echo.Context) error {
}
// 更新数据库
//sid, url := DBupdate(c, filePath, info)
sid := "fakesid" //
url := "fakeurl" //
cookie := new(http.Cookie)
SetCookie(c, cookie, sid, info.Expiration, info.Time)
_, url := DBupdate(c, filePath, info) // 不分配uid
//sid := "fakesid" //
//url := "fakeurl" //
//cookie := new(http.Cookie)
return response.SendResponse2(c, http.StatusOK, GetFileContentType(info.FileType), fmt.Sprintf("文件上传成功: %s", info.FileName), url)
}
......@@ -94,3 +90,17 @@ func SendFile(c echo.Context) error {
c.JSON(http.StatusOK, info)
return response.SendResponse3(c, http.StatusOK, GetFileContentType(info.FileType), data) // 返回数据
}
// 申请一个包含uid的cookie
func AskUid(c echo.Context) error {
nsid := IdGen(8)
info := new(File)
cookie := new(http.Cookie)
err := SetCookie(c, cookie, nsid, info.Expiration, info.Time)
if err != nil {
return err
} else {
return c.HTML(http.StatusOK, "success")
}
}
......@@ -5,6 +5,7 @@ import (
//"net/http"
"github.com/labstack/echo/v4"
"github.com/sirupsen/logrus"
"github.com/spf13/viper"
)
var e *echo.Echo
......@@ -18,26 +19,35 @@ func InitWebFramework() {
logrus.Info("echo framework initialized")
}
func StartServer() {
e.Logger.Fatal(e.Start("127.0.0.1:80")) // 启动服务,注意默认端口80不能省略
//e.Logger.Fatal(e.Start("pastebin:80")) // 启动服务,注意默认端口80不能省略,需要域名解析,config
e.Logger.Fatal(e.Start(getSetting("testurl"))) // 启动服务,注意默认端口80不能省略
//e.Logger.Fatal(e.Start("127.0.0.1:80")) // 启动服务,注意默认端口80不能省略
//e.Logger.Fatal(e.Start("http://xlab.zju.edu.cn/test/pastebin/group-1")) // 启动服务,注意默认端口80不能省略,需要域名解析,config
}
/*
* 初始化logger设置
*/
func InitLogger(){
*/
func InitLogger() {
//自定义日志格式
logrus.SetFormatter(&logrus.TextFormatter{
ForceQuote:true, //键值对加引号
TimestampFormat:"2006-01-02 15:04:05", //时间格式
FullTimestamp:true,
ForceQuote: true, //键值对加引号
TimestampFormat: "2006-01-02 15:04:05", //时间格式
FullTimestamp: true,
})
logrus.SetReportCaller(true)
}
func getSetting(key string) (value string) {
// config
viper.SetConfigName("config")
viper.SetConfigType("yaml")
viper.AddConfigPath("./")
err := viper.ReadInConfig()
if err != nil {
logrus.Panic(err)
}
// connect to database
logInfo := viper.GetStringMapString("setting")
return logInfo[key]
}
......@@ -10,9 +10,11 @@ func addRoutes() {
api := e.Group("api")
api.Use(middleware.Auth)
api.GET("/ping", controller.Ping)
api.GET("/ask/sid", controller.AskUid)
//api.POST("/passwd",controller.AskPasswd) // 密码,返回cookie
api.POST("/file/recv", controller.RecvFile) // 接收文件
api.POST("/file/send", controller.SendFile)
//api.POST("/text/recv",controller.RecvText)
//api.POST("/text/send",controller.RecvText)
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment