Skip to content
Snippets Groups Projects
Unverified Commit 0f5db9dd authored by Luke Hinds's avatar Luke Hinds Committed by GitHub
Browse files

Merge pull request #16 from dlorenc/getserver

Switch the get command over to use the server, and refactor a bit.
parents a26d51d5 f18fb343
No related branches found
No related tags found
No related merge requests found
...@@ -16,14 +16,10 @@ limitations under the License. ...@@ -16,14 +16,10 @@ limitations under the License.
package cmd package cmd
import ( import (
"bytes"
"context" "context"
"fmt" "fmt"
"io"
"io/ioutil" "io/ioutil"
"mime/multipart"
"net/http" "net/http"
"os"
"time" "time"
"github.com/projectrekor/rekor-cli/log" "github.com/projectrekor/rekor-cli/log"
...@@ -83,28 +79,11 @@ For more information, visit [domain]`, ...@@ -83,28 +79,11 @@ For more information, visit [domain]`,
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel() defer cancel()
f, err := os.Open(linkfile) request, err := http.NewRequestWithContext(ctx, "POST", url, nil)
if err != nil {
log.Fatal(err)
}
body := &bytes.Buffer{} if err := addFileToRequest(request, linkfile); err != nil {
writer := multipart.NewWriter(body)
part, err := writer.CreateFormFile("fileupload", "link.json")
if err != nil {
log.Fatal(err) log.Fatal(err)
} }
io.Copy(part, f)
writer.Close()
request, err := http.NewRequestWithContext(ctx, "POST", url, body)
if err != nil {
log.Fatal(err)
}
request.Header.Add("Content-Type", writer.FormDataContentType())
client := &http.Client{} client := &http.Client{}
response, err := client.Do(request) response, err := client.Do(request)
......
package cmd
import (
"bytes"
"io"
"io/ioutil"
"mime/multipart"
"net/http"
"os"
)
func addFileToRequest(request *http.Request, path string) error {
f, err := os.Open(path)
if err != nil {
return err
}
body := &bytes.Buffer{}
writer := multipart.NewWriter(body)
defer writer.Close()
part, err := writer.CreateFormFile("fileupload", "link.json")
if err != nil {
return err
}
if _, err := io.Copy(part, f); err != nil {
return err
}
request.Body = ioutil.NopCloser(body)
request.Header.Add("Content-Type", writer.FormDataContentType())
return nil
}
...@@ -19,13 +19,11 @@ import ( ...@@ -19,13 +19,11 @@ import (
"context" "context"
"fmt" "fmt"
"io/ioutil" "io/ioutil"
"os" "net/http"
"time" "time"
"github.com/google/trillian"
"github.com/projectrekor/rekor-cli/log" "github.com/projectrekor/rekor-cli/log"
"github.com/spf13/viper" "github.com/spf13/viper"
"google.golang.org/grpc"
"github.com/spf13/cobra" "github.com/spf13/cobra"
) )
...@@ -39,32 +37,38 @@ var getCmd = &cobra.Command{ ...@@ -39,32 +37,38 @@ var getCmd = &cobra.Command{
For more information, visit [domain]`, For more information, visit [domain]`,
Run: func(cmd *cobra.Command, args []string) { Run: func(cmd *cobra.Command, args []string) {
log := log.Logger log := log.Logger
logRpcServer := viper.GetString("log_rpc_server") rekorServer := viper.GetString("rekor_server")
tLogID := viper.GetInt64("tlog_id") url := rekorServer + "/api/v1/get"
linkfile := viper.GetString("linkfile") linkfile := viper.GetString("linkfile")
// Set Context with Timeout for connects to thde log rpc server
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel() defer cancel()
conn, err := grpc.DialContext(ctx, logRpcServer, grpc.WithInsecure()) request, err := http.NewRequestWithContext(ctx, "POST", url, nil)
if err != nil { if err != nil {
log.Errorf("Failed to connect to log server:", err) log.Fatal(err)
} }
defer conn.Close()
jsonFile, err := os.Open(linkfile) if err := addFileToRequest(request, linkfile); err != nil {
log.Fatal(err)
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil { if err != nil {
fmt.Println(err) log.Fatal(err)
} }
byteValue, _ := ioutil.ReadAll(jsonFile) defer response.Body.Close()
defer jsonFile.Close()
tLogClient := trillian.NewTrillianLogClient(conn) content, err := ioutil.ReadAll(response.Body)
server := serverInstance(tLogClient, tLogID)
if err != nil {
log.Fatal(err)
}
resp := &Response{} fmt.Println(string(content))
resp, err = server.getLeaf(byteValue, tLogID)
log.Infof("Server GET Response: %s", resp.status)
}, },
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment