<commit_before>using System;
using System.IO;
using System.Net;
using System.Collections.Generic;

namespace ReachmailApi
{
    public class Reachmail
    {
        public Reachmail(IHttpClient httpClient) 
        {
    {{#rootModules}}
        {{.}} = new {{.}}.ApiModule(httpClient);
    {{/rootModules}}
    }

        public static Reachmail Create(
            string accountKey, 
            string username, 
            string password, 
            string baseUrl = "https://services.reachmail.net", 
            bool allowSelfSignedCerts = false,
            IWebProxy proxy = null)
        {
            var httpClient = new HttpClient(baseUrl, accountKey + @"\" + username, password, allowSelfSignedCerts, proxy);
            var reachmail = new Reachmail(httpClient);
            httpClient.AddParameterDefault("accountId", reachmail.Administration.Users.Current.Get().AccountId);
            return reachmail;
        }

    {{#rootModules}}
    public {{.}}.ApiModule {{.}} { get; private set; }
    {{/rootModules}}
}   

    {{#modules}}
namespace {{namespace}}
    {
        public class ApiModule
        {
            private readonly IHttpClient _httpClient;

            internal ApiModule(IHttpClient httpClient) 
            {
                _httpClient = httpClient;
    {{#modules}}
            {{.}} = new {{.}}.ApiModule(httpClient);
    {{/modules}}
        }

    {{#modules}}<commit_msg>Made the module consturctor public and removed the hardcoded url.<commit_after>using System;
using System.IO;
using System.Net;
using System.Collections.Generic;

namespace ReachmailApi
{
    public class Reachmail
    {
        public Reachmail(IHttpClient httpClient) 
        {
    {{#rootModules}}
        {{.}} = new {{.}}.ApiModule(httpClient);
    {{/rootModules}}
    }

        public static Reachmail Create(
            string accountKey, 
            string username, 
            string password, 
            string baseUrl = "{{{url}}}", 
            bool allowSelfSignedCerts = false,
            IWebProxy proxy = null)
        {
            var httpClient = new HttpClient(baseUrl, accountKey + @"\" + username, password, allowSelfSignedCerts, proxy);
            var reachmail = new Reachmail(httpClient);
            httpClient.AddParameterDefault("accountId", reachmail.Administration.Users.Current.Get().AccountId);
            return reachmail;
        }

    {{#rootModules}}
    public {{.}}.ApiModule {{.}} { get; private set; }
    {{/rootModules}}
}   

    {{#modules}}
namespace {{namespace}}
    {
        public class ApiModule
        {
            private readonly IHttpClient _httpClient;

            public ApiModule(IHttpClient httpClient) 
            {
                _httpClient = httpClient;
    {{#modules}}
            {{.}} = new {{.}}.ApiModule(httpClient);
    {{/modules}}
        }

    {{#modules}}
{'fraction_non_alphanumeric': 0.11781108400139421, 'fraction_numerical': 0.0, 'mean_word_length': 2.1027027027027025, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4808447', 'n_tokens_mistral': 797, 'n_tokens_neox': 772, 'n_words': 174}