func New()

in internal/gitlab/client.go [64:84]


func New(serverURL, jobToken, privateToken, projectID string, httpClient HTTPClient, logger log.FieldLogger) (*Client, error) {
	if jobToken == "" && privateToken == "" {
		return nil, errMissingToken
	}

	u, err := url.Parse(serverURL)
	if err != nil {
		return nil, fmt.Errorf("failed to parse url: %w", err)
	}

	u.Path = path.Join(u.Path, apiBaseURL)

	return &Client{
		baseURL:      u.String(),
		jobToken:     jobToken,
		privateToken: privateToken,
		projectID:    projectID,
		httpClient:   httpClient,
		logger:       logger,
	}, nil
}