package pgproto3

import (
	
	
	

	
)

const sslRequestNumber = 80877103

type SSLRequest struct {
}

// Frontend identifies this message as sendable by a PostgreSQL frontend.
func (*SSLRequest) () {}

func ( *SSLRequest) ( []byte) error {
	if len() < 4 {
		return errors.New("ssl request too short")
	}

	 := binary.BigEndian.Uint32()

	if  != sslRequestNumber {
		return errors.New("bad ssl request code")
	}

	return nil
}

// Encode encodes src into dst. dst will include the 4 byte message length.
func ( *SSLRequest) ( []byte) []byte {
	 = pgio.AppendInt32(, 8)
	 = pgio.AppendInt32(, sslRequestNumber)
	return 
}

// MarshalJSON implements encoding/json.Marshaler.
func ( SSLRequest) () ([]byte, error) {
	return json.Marshal(struct {
		            string
		 uint32
		      map[string]string
	}{
		: "SSLRequest",
	})
}