github.com/ravendb/ravendb-go-client@v0.0.0-20240229102137-4474ee7aa0fa/serverwide/operations/operation_get_build_number.go (about) 1 package operations 2 3 import ( 4 "encoding/json" 5 "github.com/ravendb/ravendb-go-client" 6 "net/http" 7 ) 8 9 type OperationGetBuildNumber struct { 10 BuildVersion int `json:"BuildVersion"` 11 ProductVersion string `json:"ProductVersion"` 12 CommitHash string `json:"CommitHash"` 13 FullVersion string `json:"FullVersion"` 14 } 15 16 func (operation *OperationGetBuildNumber) GetCommand(conventions *ravendb.DocumentConventions) (ravendb.RavenCommand, error) { 17 return &getBuildNumber{ 18 RavenCommandBase: ravendb.RavenCommandBase{ 19 ResponseType: ravendb.RavenCommandResponseTypeObject, 20 }, 21 parent: operation, 22 }, nil 23 } 24 25 type getBuildNumber struct { 26 ravendb.RavenCommandBase 27 parent *OperationGetBuildNumber 28 } 29 30 func (c *getBuildNumber) CreateRequest(node *ravendb.ServerNode) (*http.Request, error) { 31 url := node.URL + "/build/version" 32 return http.NewRequest(http.MethodGet, url, nil) 33 } 34 35 func (c *getBuildNumber) SetResponse(response []byte, fromCache bool) error { 36 return json.Unmarshal(response, c.parent) 37 }