code: func Get(helper Helper, reader io.Reader, writer io.Writer) error {
  	scanner := bufio.NewScanner(reader)
  
  	buffer := new(bytes.Buffer)
  	for scanner.Scan() {
  		buffer.Write(scanner.Bytes())
  	}
  
  	if err := scanner.Err(); err != nil && err != io.EOF {
  		return err
  	}
  
  	serverURL := strings.TrimSpace(buffer.String())
  	if len(serverURL) == 0 {
  		return NewErrCredentialsMissingServerURL()
  	}
  
  	username, secret, err := helper.Get(serverURL)
  	if err != nil {
  		return err
  	}
  
  	resp := Credentials{
  		ServerURL: serverURL,
  		Username:  username,
  		Secret:    secret,
  	}
  
  	buffer.Reset()
  	if err := json.NewEncoder(buffer).Encode(resp); err != nil {
  		return err
  	}
  
  	fmt.Fprint(writer, buffer.String())
  	return nil
  }
docs: // Get retrieves the credentials for a given server url.
  // The reader must contain the server URL to search.
  // The writer is used to write the JSON serialization of the credentials.