├── sources ├── EfficientApiCalls.Api │ ├── appsettings.Development.json │ ├── appsettings.json │ ├── EfficientApiCalls.Api.csproj │ ├── Program.cs │ ├── Controllers │ │ └── ValuesController.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Startup.cs │ ├── Model.cs │ └── E1IlXtbj4.json ├── EfficientApiCalls │ ├── EfficientApiCalls.csproj │ ├── Model.cs │ ├── BenchmarkHelper.cs │ └── Program.cs └── EfficientApiCalls.sln ├── README.md ├── .gitignore └── LICENSE /sources/EfficientApiCalls.Api/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # How to make efficient api calls with C# and JSON.NET 2 | 3 | Source code illustrating how to make efficient HttpClient api calls in C# 4 | 5 | You can find more information about this benchmark here : 6 | [https://johnthiriet.com/efficient-api-calls/](https://johnthiriet.com/efficient-api-calls/) 7 | -------------------------------------------------------------------------------- /sources/EfficientApiCalls.Api/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "Debug": { 5 | "LogLevel": { 6 | "Default": "Warning" 7 | } 8 | }, 9 | "Console": { 10 | "LogLevel": { 11 | "Default": "Warning" 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /sources/EfficientApiCalls/EfficientApiCalls.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | netcoreapp2.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /sources/EfficientApiCalls.Api/EfficientApiCalls.Api.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp2.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Autosave files 2 | *~ 3 | 4 | # build 5 | [Oo]bj/ 6 | [Bb]in/ 7 | packages/ 8 | TestResults/ 9 | 10 | # globs 11 | Makefile.in 12 | *.DS_Store 13 | *.sln.cache 14 | *.suo 15 | *.cache 16 | *.pidb 17 | *.userprefs 18 | *.usertasks 19 | config.log 20 | config.make 21 | config.status 22 | aclocal.m4 23 | install-sh 24 | autom4te.cache/ 25 | *.user 26 | *.tar.gz 27 | tarballs/ 28 | test-results/ 29 | Thumbs.db 30 | 31 | # Mac bundle stuff 32 | *.dmg 33 | *.app 34 | 35 | # resharper 36 | *_Resharper.* 37 | *.Resharper 38 | 39 | # dotCover 40 | *.dotCover 41 | 42 | *.db 43 | -------------------------------------------------------------------------------- /sources/EfficientApiCalls.Api/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | using Microsoft.AspNetCore; 7 | using Microsoft.AspNetCore.Hosting; 8 | using Microsoft.Extensions.Configuration; 9 | using Microsoft.Extensions.Logging; 10 | 11 | namespace EfficientApiCalls.Api 12 | { 13 | public class Program 14 | { 15 | public static void Main(string[] args) 16 | { 17 | BuildWebHost(args).Run(); 18 | } 19 | 20 | public static IWebHost BuildWebHost(string[] args) => 21 | WebHost.CreateDefaultBuilder(args) 22 | .UseStartup() 23 | .Build(); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /sources/EfficientApiCalls.Api/Controllers/ValuesController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Microsoft.AspNetCore.Mvc; 6 | 7 | namespace EfficientApiCalls.Api.Controllers 8 | { 9 | [Route("api/[controller]")] 10 | public class ValuesController : Controller 11 | { 12 | // GET api/values 13 | public FileStreamResult Get() 14 | { 15 | var fileStream = System.IO.File.Open("E1IlXtbj4.json", System.IO.FileMode.Open); 16 | return File(fileStream, "application/json"); 17 | } 18 | 19 | // POST api/values 20 | [HttpPost] 21 | public void Post([FromBody]Model value) 22 | { 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /sources/EfficientApiCalls.Api/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:55556/", 7 | "sslPort": 0 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "launchUrl": "api/values", 15 | "environmentVariables": { 16 | "ASPNETCORE_ENVIRONMENT": "Development" 17 | } 18 | }, 19 | "EfficientApiCalls.Api": { 20 | "commandName": "Project", 21 | "launchBrowser": true, 22 | "launchUrl": "api/values", 23 | "environmentVariables": { 24 | "ASPNETCORE_ENVIRONMENT": "Development" 25 | }, 26 | "applicationUrl": "http://localhost:5000/" 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 John Thiriet 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /sources/EfficientApiCalls.Api/Startup.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Microsoft.AspNetCore.Builder; 6 | using Microsoft.AspNetCore.Hosting; 7 | using Microsoft.Extensions.Configuration; 8 | using Microsoft.Extensions.DependencyInjection; 9 | using Microsoft.Extensions.Logging; 10 | using Microsoft.Extensions.Options; 11 | 12 | namespace EfficientApiCalls.Api 13 | { 14 | public class Startup 15 | { 16 | public Startup(IConfiguration configuration) 17 | { 18 | Configuration = configuration; 19 | } 20 | 21 | public IConfiguration Configuration { get; } 22 | 23 | // This method gets called by the runtime. Use this method to add services to the container. 24 | public void ConfigureServices(IServiceCollection services) 25 | { 26 | services.AddMvc(); 27 | } 28 | 29 | // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. 30 | public void Configure(IApplicationBuilder app, IHostingEnvironment env) 31 | { 32 | if (env.IsDevelopment()) 33 | { 34 | app.UseDeveloperExceptionPage(); 35 | } 36 | 37 | app.UseMvc(); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /sources/EfficientApiCalls.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2012 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EfficientApiCalls", "EfficientApiCalls\EfficientApiCalls.csproj", "{630EAB9D-4AD1-479B-9D7E-F837521C1652}" 5 | EndProject 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EfficientApiCalls.Api", "EfficientApiCalls.Api\EfficientApiCalls.Api.csproj", "{BD01DD35-A197-4034-8D73-C296EE934225}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {630EAB9D-4AD1-479B-9D7E-F837521C1652}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {630EAB9D-4AD1-479B-9D7E-F837521C1652}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {630EAB9D-4AD1-479B-9D7E-F837521C1652}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {630EAB9D-4AD1-479B-9D7E-F837521C1652}.Release|Any CPU.Build.0 = Release|Any CPU 18 | {BD01DD35-A197-4034-8D73-C296EE934225}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 19 | {BD01DD35-A197-4034-8D73-C296EE934225}.Debug|Any CPU.Build.0 = Debug|Any CPU 20 | {BD01DD35-A197-4034-8D73-C296EE934225}.Release|Any CPU.ActiveCfg = Release|Any CPU 21 | {BD01DD35-A197-4034-8D73-C296EE934225}.Release|Any CPU.Build.0 = Release|Any CPU 22 | EndGlobalSection 23 | EndGlobal 24 | -------------------------------------------------------------------------------- /sources/EfficientApiCalls/Model.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace EfficientApiCalls 4 | { 5 | public class Name 6 | { 7 | public string first { get; set; } 8 | public string last { get; set; } 9 | } 10 | 11 | public class Friend 12 | { 13 | public int id { get; set; } 14 | public string name { get; set; } 15 | } 16 | 17 | public class Model 18 | { 19 | public string _id { get; set; } 20 | public int index { get; set; } 21 | public string guid { get; set; } 22 | public bool isActive { get; set; } 23 | public string balance { get; set; } 24 | public string picture { get; set; } 25 | public int age { get; set; } 26 | public string eyeColor { get; set; } 27 | public Name name { get; set; } 28 | public string company { get; set; } 29 | public string email { get; set; } 30 | public string phone { get; set; } 31 | public string address { get; set; } 32 | public string about { get; set; } 33 | public string registered { get; set; } 34 | public string latitude { get; set; } 35 | public string longitude { get; set; } 36 | public List tags { get; set; } 37 | public List range { get; set; } 38 | public List friends { get; set; } 39 | public string greeting { get; set; } 40 | public string favoriteFruit { get; set; } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /sources/EfficientApiCalls.Api/Model.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace EfficientApiCalls 4 | { 5 | public class Name 6 | { 7 | public string first { get; set; } 8 | public string last { get; set; } 9 | } 10 | 11 | public class Friend 12 | { 13 | public int id { get; set; } 14 | public string name { get; set; } 15 | } 16 | 17 | public class Model 18 | { 19 | public string _id { get; set; } 20 | public int index { get; set; } 21 | public string guid { get; set; } 22 | public bool isActive { get; set; } 23 | public string balance { get; set; } 24 | public string picture { get; set; } 25 | public int age { get; set; } 26 | public string eyeColor { get; set; } 27 | public Name name { get; set; } 28 | public string company { get; set; } 29 | public string email { get; set; } 30 | public string phone { get; set; } 31 | public string address { get; set; } 32 | public string about { get; set; } 33 | public string registered { get; set; } 34 | public string latitude { get; set; } 35 | public string longitude { get; set; } 36 | public List tags { get; set; } 37 | public List range { get; set; } 38 | public List friends { get; set; } 39 | public string greeting { get; set; } 40 | public string favoriteFruit { get; set; } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /sources/EfficientApiCalls/BenchmarkHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Diagnostics; 3 | using System.Threading.Tasks; 4 | using System.Linq; 5 | using System.Threading; 6 | 7 | namespace EfficientApiCalls 8 | { 9 | public static class BenchmarkHelper 10 | { 11 | public static async Task BenchAsync(Func operation, int numberOfExecutions, string tag, object content, CancellationToken cancellationToken) 12 | { 13 | long[] timings = new long[numberOfExecutions]; 14 | 15 | var sw = new Stopwatch(); 16 | for (int i = 0; i < numberOfExecutions; i++) 17 | { 18 | sw.Restart(); 19 | 20 | await operation(content, cancellationToken); 21 | sw.Stop(); 22 | timings[i] = sw.ElapsedMilliseconds; 23 | //Console.WriteLine($"{tag} : {sw.ElapsedMilliseconds} ms"); 24 | } 25 | 26 | var average = timings.Average(); 27 | 28 | Console.WriteLine($"{tag} : Average {average} ms"); 29 | } 30 | 31 | public static async Task BenchAsync(Func> operation, int numberOfExecutions, string tag, CancellationToken cancellationToken) 32 | { 33 | long[] timings = new long[numberOfExecutions]; 34 | 35 | var sw = new Stopwatch(); 36 | for (int i = 0; i < numberOfExecutions; i++) 37 | { 38 | sw.Restart(); 39 | 40 | var result = await operation(cancellationToken); 41 | sw.Stop(); 42 | timings[i] = sw.ElapsedMilliseconds; 43 | //Console.WriteLine($"{tag} : {sw.ElapsedMilliseconds} ms"); 44 | } 45 | 46 | var average = timings.Average(); 47 | 48 | Console.WriteLine($"{tag} : Average {average} ms"); 49 | } 50 | 51 | public static async Task BenchAsync(Func> operation, int numberOfExecutions, string tag) 52 | { 53 | long[] timings = new long[numberOfExecutions]; 54 | 55 | var sw = new Stopwatch(); 56 | for (int i = 0; i < numberOfExecutions; i++) 57 | { 58 | sw.Restart(); 59 | await operation(); 60 | sw.Stop(); 61 | timings[i] = sw.ElapsedMilliseconds; 62 | //Console.WriteLine($"{tag} : {sw.ElapsedMilliseconds} ms"); 63 | } 64 | 65 | var average = timings.Average(); 66 | 67 | Console.WriteLine($"{tag} : Average {average} ms"); 68 | 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /sources/EfficientApiCalls/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Net.Http; 5 | using System.Net.Http.Headers; 6 | using System.Text; 7 | using System.Threading; 8 | using System.Threading.Tasks; 9 | using Newtonsoft.Json; 10 | 11 | namespace EfficientApiCalls 12 | { 13 | public class Program 14 | { 15 | 16 | private static readonly HttpClient client = new HttpClient(); 17 | 18 | public static void Main(string[] args) 19 | { 20 | MainAsync(CancellationToken.None).Wait(); 21 | } 22 | 23 | private static async Task MainAsync(CancellationToken cancellationToken) 24 | { 25 | // JIT 26 | //await BasicCallAsync(); 27 | //await CancellableCallAsync(cancellationToken); 28 | //await CheckNetworkErrorCallAsync(cancellationToken); 29 | //await CustomExceptionCallAsync(cancellationToken); 30 | //await DeserializeFromStreamCallAsync(cancellationToken); 31 | var model = await DeserializeOptimizedFromStreamCallAsync(cancellationToken); 32 | 33 | Console.Clear(); 34 | 35 | const int maxLoop = 100; 36 | 37 | await BenchmarkHelper.BenchAsync(BasicCallAsync, maxLoop, nameof(Program.BasicCallAsync)); 38 | await BenchmarkHelper.BenchAsync(CancellableCallAsync, maxLoop, nameof(Program.CancellableCallAsync), cancellationToken); 39 | await BenchmarkHelper.BenchAsync(CheckNetworkErrorCallAsync, maxLoop, nameof(Program.CheckNetworkErrorCallAsync), cancellationToken); 40 | await BenchmarkHelper.BenchAsync(CustomExceptionCallAsync, maxLoop, nameof(Program.CustomExceptionCallAsync), cancellationToken); 41 | await BenchmarkHelper.BenchAsync(DeserializeFromStreamCallAsync, maxLoop, nameof(Program.DeserializeFromStreamCallAsync), cancellationToken); 42 | await BenchmarkHelper.BenchAsync(DeserializeOptimizedFromStreamCallAsync, maxLoop, nameof(Program.DeserializeOptimizedFromStreamCallAsync), cancellationToken); 43 | 44 | // POST 45 | await BenchmarkHelper.BenchAsync(PostBasicAsync, maxLoop, nameof(Program.PostBasicAsync), model, cancellationToken); 46 | await BenchmarkHelper.BenchAsync(PostStreamAsync, maxLoop, nameof(Program.PostStreamAsync), model, cancellationToken); 47 | } 48 | 49 | private const string Url = 50 | "http://localhost:5000/api/values"; 51 | 52 | private static async Task> BasicCallAsync() 53 | { 54 | var content = await client.GetStringAsync(Url); 55 | return JsonConvert.DeserializeObject>(content); 56 | } 57 | 58 | private static async Task> CancellableCallAsync(CancellationToken cancellationToken) 59 | { 60 | using (var request = new HttpRequestMessage(HttpMethod.Get, Url)) 61 | using (var response = await client.SendAsync(request, cancellationToken)) 62 | { 63 | var content = await response.Content.ReadAsStringAsync(); 64 | return JsonConvert.DeserializeObject>(content); 65 | } 66 | } 67 | 68 | private static async Task> CheckNetworkErrorCallAsync(CancellationToken cancellationToken) 69 | { 70 | using (var request = new HttpRequestMessage(HttpMethod.Get, Url)) 71 | using (var response = await client.SendAsync(request, cancellationToken)) 72 | { 73 | response.EnsureSuccessStatusCode(); 74 | var content = await response.Content.ReadAsStringAsync(); 75 | return JsonConvert.DeserializeObject>(content); 76 | } 77 | } 78 | 79 | public class ApiException : Exception 80 | { 81 | public int StatusCode { get; set; } 82 | 83 | public string Content { get; set; } 84 | } 85 | 86 | private static async Task> CustomExceptionCallAsync(CancellationToken cancellationToken) 87 | { 88 | using (var request = new HttpRequestMessage(HttpMethod.Get, Url)) 89 | using (var response = await client.SendAsync(request, cancellationToken)) 90 | { 91 | var content = await response.Content.ReadAsStringAsync(); 92 | 93 | if (response.IsSuccessStatusCode == false) 94 | throw new ApiException { StatusCode = (int)response.StatusCode, Content = content }; 95 | 96 | return JsonConvert.DeserializeObject>(content); 97 | } 98 | } 99 | 100 | private static T DeserializeJsonFromStream(Stream stream) 101 | { 102 | if (stream == null || stream.CanRead == false) 103 | return default(T); 104 | 105 | using (var sr = new StreamReader(stream)) 106 | using (var jtr = new JsonTextReader(sr)) 107 | { 108 | var jr = new JsonSerializer(); 109 | var searchResult = jr.Deserialize(jtr); 110 | return searchResult; 111 | } 112 | } 113 | 114 | private static async Task StreamToStringAsync(Stream stream) 115 | { 116 | string content = null; 117 | 118 | if (stream != null) 119 | { 120 | using (var sr = new StreamReader(stream)) 121 | { 122 | content = await sr.ReadToEndAsync(); 123 | } 124 | } 125 | 126 | return content; 127 | } 128 | 129 | private static async Task> DeserializeFromStreamCallAsync(CancellationToken cancellationToken) 130 | { 131 | using (var request = new HttpRequestMessage(HttpMethod.Get, Url)) 132 | using (var response = await client.SendAsync(request, cancellationToken)) 133 | { 134 | var stream = await response.Content.ReadAsStreamAsync(); 135 | 136 | if (response.IsSuccessStatusCode) 137 | return DeserializeJsonFromStream>(stream); 138 | 139 | var content = await StreamToStringAsync(stream); 140 | throw new ApiException { StatusCode = (int)response.StatusCode, Content = content }; 141 | } 142 | } 143 | 144 | private static async Task> DeserializeOptimizedFromStreamCallAsync(CancellationToken cancellationToken) 145 | { 146 | using (var request = new HttpRequestMessage(HttpMethod.Get, Url)) 147 | using (var response = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead, cancellationToken)) 148 | { 149 | var stream = await response.Content.ReadAsStreamAsync(); 150 | 151 | if (response.IsSuccessStatusCode) 152 | return DeserializeJsonFromStream>(stream); 153 | 154 | var content = await StreamToStringAsync(stream); 155 | throw new ApiException { StatusCode = (int)response.StatusCode, Content = content }; 156 | } 157 | } 158 | 159 | private static async Task PostBasicAsync(object content, CancellationToken cancellationToken) 160 | { 161 | using (var client = new HttpClient()) 162 | using (var request = new HttpRequestMessage(HttpMethod.Post, Url)) 163 | { 164 | var json = JsonConvert.SerializeObject(content); 165 | using (var stringContent = new StringContent(json, Encoding.UTF8, "application/json")) 166 | { 167 | request.Content = stringContent; 168 | 169 | using (var response = await client 170 | .SendAsync(request, HttpCompletionOption.ResponseHeadersRead, cancellationToken) 171 | .ConfigureAwait(false)) 172 | { 173 | response.EnsureSuccessStatusCode(); 174 | } 175 | } 176 | } 177 | } 178 | 179 | public static void SerializeJsonIntoStream(object value, Stream stream) 180 | { 181 | using (var sw = new StreamWriter(stream, new UTF8Encoding(false), 1024, true)) 182 | using (var jtw = new JsonTextWriter(sw) { Formatting = Formatting.None }) 183 | { 184 | var js = new JsonSerializer(); 185 | js.Serialize(jtw, value); 186 | jtw.Flush(); 187 | } 188 | } 189 | 190 | private static HttpContent CreateHttpContent(object content) 191 | { 192 | HttpContent httpContent = null; 193 | 194 | if (content != null) 195 | { 196 | var ms = new MemoryStream(); 197 | SerializeJsonIntoStream(content, ms); 198 | ms.Seek(0, SeekOrigin.Begin); 199 | httpContent = new StreamContent(ms); 200 | httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); 201 | } 202 | 203 | return httpContent; 204 | } 205 | 206 | private static async Task PostStreamAsync(object content, CancellationToken cancellationToken) 207 | { 208 | using (var client = new HttpClient()) 209 | using (var request = new HttpRequestMessage(HttpMethod.Post, Url)) 210 | using (var httpContent = CreateHttpContent(content)) 211 | { 212 | request.Content = httpContent; 213 | 214 | using (var response = await client 215 | .SendAsync(request, HttpCompletionOption.ResponseHeadersRead, cancellationToken) 216 | .ConfigureAwait(false)) 217 | { 218 | response.EnsureSuccessStatusCode(); 219 | } 220 | } 221 | } 222 | } 223 | } 224 | -------------------------------------------------------------------------------- /sources/EfficientApiCalls.Api/E1IlXtbj4.json: -------------------------------------------------------------------------------- 1 | [{"favoriteFruit":"banana","greeting":"Hello, Middleton! You have 8 unread messages.","friends":[{"name":"Kathy Hall","id":0},{"name":"Bradshaw Cherry","id":1},{"name":"Kelly Montoya","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["ex","ex","ad","proident","qui"],"longitude":"-155.90071","latitude":"52.990503","registered":"Thursday, May 4, 2017 5:06 PM","about":"Laborum aliquip exercitation mollit elit commodo deserunt sit nulla reprehenderit nostrud reprehenderit proident. Deserunt magna et aliqua velit ut quis incididunt irure non do labore ullamco nulla aliqua. Nisi tempor deserunt est quis non. Labore do tempor nostrud nisi ipsum sit deserunt eu nulla enim. Cupidatat incididunt cillum ad labore incididunt incididunt et. Officia veniam do mollit officia ex aliqua aliqua esse nisi est consequat minim labore.","address":"900 Amity Street, Tibbie, Vermont, 3251","phone":"+1 (818) 509-2713","email":"middleton.knapp@bleendot.org","company":"BLEENDOT","name":{"last":"Knapp","first":"Middleton"},"eyeColor":"green","age":37,"picture":"http://placehold.it/32x32","balance":"$2,200.61","isActive":true,"guid":"5d2eb1fa-a7c7-49c5-bb06-3641aab55992","index":0,"_id":"5ac893d70b60e78155107467"},{"favoriteFruit":"apple","greeting":"Hello, Lena! You have 5 unread messages.","friends":[{"name":"Elisabeth Armstrong","id":0},{"name":"Kris Holman","id":1},{"name":"Pittman Little","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["est","est","eiusmod","Lorem","anim"],"longitude":"-5.81689","latitude":"7.299963","registered":"Monday, April 11, 2016 1:06 PM","about":"Esse enim pariatur eu esse voluptate fugiat nostrud. Consectetur esse non exercitation amet dolor nisi dolor tempor culpa. Laboris culpa proident laboris magna voluptate id ut ea. Cupidatat velit aliqua eiusmod dolore aliqua ea officia.","address":"317 Hoyts Lane, Forbestown, Texas, 7582","phone":"+1 (963) 442-2988","email":"lena.hardy@atgen.me","company":"ATGEN","name":{"last":"Hardy","first":"Lena"},"eyeColor":"green","age":35,"picture":"http://placehold.it/32x32","balance":"$1,632.50","isActive":true,"guid":"9c1b733d-6a61-4580-bb2a-21df86fd18fa","index":1,"_id":"5ac893d76743b876775bca66"},{"favoriteFruit":"apple","greeting":"Hello, Hays! You have 10 unread messages.","friends":[{"name":"Eva Anthony","id":0},{"name":"Bass Jacobs","id":1},{"name":"Langley Patrick","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["quis","laboris","ipsum","cillum","magna"],"longitude":"-178.29022","latitude":"-15.606975","registered":"Saturday, December 6, 2014 1:39 AM","about":"Ullamco nisi amet mollit ut velit ullamco nulla nostrud. Minim irure culpa eiusmod ullamco dolor qui enim fugiat. Officia minim excepteur in ea aute eu quis quis nulla amet adipisicing est irure.","address":"587 Preston Court, Disautel, Guam, 6898","phone":"+1 (851) 464-3367","email":"hays.dennis@coriander.biz","company":"CORIANDER","name":{"last":"Dennis","first":"Hays"},"eyeColor":"blue","age":20,"picture":"http://placehold.it/32x32","balance":"$2,330.96","isActive":true,"guid":"ae7e7284-6f84-44f6-829a-c45e18c8e162","index":2,"_id":"5ac893d7c7f0398f9cf3b6bd"},{"favoriteFruit":"strawberry","greeting":"Hello, Jasmine! You have 10 unread messages.","friends":[{"name":"Macias Cash","id":0},{"name":"Leila Galloway","id":1},{"name":"Alyce Guzman","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["et","exercitation","qui","est","duis"],"longitude":"-172.09325","latitude":"13.864821","registered":"Friday, April 18, 2014 12:25 AM","about":"Deserunt labore tempor minim ad do occaecat minim laboris consectetur cupidatat exercitation. Pariatur Lorem aliqua eu fugiat enim duis sunt sit laborum aute quis. Aute ex proident enim sint cillum do do tempor. Occaecat duis eu ad voluptate enim dolore aliquip velit non enim qui non est. Magna dolor aute exercitation culpa voluptate ipsum sint pariatur Lorem minim ea exercitation cillum tempor. Proident cupidatat sint elit quis nulla fugiat enim sit dolor voluptate in qui ad. Ex officia occaecat dolor elit eu anim ipsum ea labore id anim enim aliqua cillum.","address":"292 Seacoast Terrace, Datil, American Samoa, 412","phone":"+1 (897) 548-3569","email":"jasmine.young@zanymax.com","company":"ZANYMAX","name":{"last":"Young","first":"Jasmine"},"eyeColor":"blue","age":25,"picture":"http://placehold.it/32x32","balance":"$1,817.63","isActive":true,"guid":"e91d9193-da71-452c-976f-2da822a2015d","index":3,"_id":"5ac893d7ca1daf6dece95d1d"},{"favoriteFruit":"apple","greeting":"Hello, Turner! You have 5 unread messages.","friends":[{"name":"Huff Gregory","id":0},{"name":"Austin Rodriguez","id":1},{"name":"Noelle Skinner","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["velit","sint","consequat","pariatur","tempor"],"longitude":"-42.487917","latitude":"19.02957","registered":"Tuesday, November 29, 2016 3:04 AM","about":"Reprehenderit aliqua non non anim ullamco sunt dolor in magna minim nulla ad. Lorem eu aliquip consequat aliquip proident amet do nisi ullamco cillum. Anim irure incididunt id in.","address":"968 Hampton Avenue, Garnet, Northern Mariana Islands, 9370","phone":"+1 (998) 432-2004","email":"turner.vinson@irack.io","company":"IRACK","name":{"last":"Vinson","first":"Turner"},"eyeColor":"blue","age":22,"picture":"http://placehold.it/32x32","balance":"$1,916.59","isActive":true,"guid":"23899414-9cfa-4935-93c9-9f863c54d65c","index":4,"_id":"5ac893d7e724af3b7c2ebd4b"},{"favoriteFruit":"strawberry","greeting":"Hello, Callie! You have 9 unread messages.","friends":[{"name":"Daniel Holt","id":0},{"name":"Katy Waller","id":1},{"name":"Hobbs Landry","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["tempor","adipisicing","cupidatat","sit","laborum"],"longitude":"-53.279687","latitude":"-88.280646","registered":"Saturday, May 2, 2015 9:53 AM","about":"Mollit ut ex labore laboris anim aliquip consequat fugiat sunt pariatur sit ullamco. Est voluptate ex ullamco Lorem excepteur cillum reprehenderit proident ex laboris quis. Magna exercitation cupidatat deserunt elit reprehenderit. Quis magna sint sit eu deserunt. Proident sunt tempor occaecat pariatur anim eiusmod sint pariatur pariatur culpa laborum laboris qui duis. Tempor cillum pariatur excepteur eu duis duis non consequat ullamco consectetur.","address":"713 Nolans Lane, Summerfield, Montana, 5498","phone":"+1 (985) 400-2989","email":"callie.burke@krog.info","company":"KROG","name":{"last":"Burke","first":"Callie"},"eyeColor":"brown","age":33,"picture":"http://placehold.it/32x32","balance":"$1,623.98","isActive":false,"guid":"e69878da-d005-46f9-9b25-53b0b78c6bb7","index":5,"_id":"5ac893d7d888a99421c70e2e"},{"favoriteFruit":"banana","greeting":"Hello, Corinne! You have 6 unread messages.","friends":[{"name":"Davis Howe","id":0},{"name":"Bender Coffey","id":1},{"name":"Heather Guerrero","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["ut","elit","sunt","cillum","eiusmod"],"longitude":"133.676994","latitude":"78.661948","registered":"Monday, January 25, 2016 4:49 AM","about":"Velit amet reprehenderit enim nulla et labore enim. Irure culpa occaecat magna duis laboris amet quis est duis voluptate excepteur duis. Ex excepteur magna incididunt sint nostrud. Nulla amet anim esse veniam quis dolor enim ex. Magna enim ea laborum ullamco laborum id exercitation quis eu. Magna irure culpa adipisicing esse amet dolor cillum culpa quis ea do voluptate nulla id. Esse voluptate sunt tempor aliquip irure proident Lorem minim officia minim.","address":"180 Coleman Street, Bethany, Iowa, 9597","phone":"+1 (964) 492-3408","email":"corinne.barber@comtrek.co.uk","company":"COMTREK","name":{"last":"Barber","first":"Corinne"},"eyeColor":"brown","age":33,"picture":"http://placehold.it/32x32","balance":"$1,166.24","isActive":true,"guid":"1d63e47f-337a-4e08-8917-f4842a49f6b7","index":6,"_id":"5ac893d7d56b65efab52d0cc"},{"favoriteFruit":"apple","greeting":"Hello, Ferrell! You have 7 unread messages.","friends":[{"name":"Oneal Vasquez","id":0},{"name":"Deena Newman","id":1},{"name":"Sherri Charles","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["laboris","magna","laboris","cillum","adipisicing"],"longitude":"82.967038","latitude":"-83.0184","registered":"Monday, August 28, 2017 5:36 AM","about":"Dolor in veniam duis occaecat exercitation laboris dolor. Dolore consectetur proident amet mollit quis cupidatat adipisicing mollit tempor proident ad duis. Proident laboris reprehenderit est quis labore enim reprehenderit sit dolore mollit. Est dolore consequat amet proident. Pariatur proident commodo sunt magna dolor proident ut anim enim ex voluptate fugiat consectetur.","address":"826 Garfield Place, Concho, Colorado, 7153","phone":"+1 (965) 485-3638","email":"ferrell.hampton@vortexaco.us","company":"VORTEXACO","name":{"last":"Hampton","first":"Ferrell"},"eyeColor":"green","age":35,"picture":"http://placehold.it/32x32","balance":"$3,993.56","isActive":false,"guid":"ac39c612-5771-4264-a2e6-1abfb2fd5299","index":7,"_id":"5ac893d76e47021172b66523"},{"favoriteFruit":"strawberry","greeting":"Hello, Angeline! You have 10 unread messages.","friends":[{"name":"Ginger Glover","id":0},{"name":"Carey Hurley","id":1},{"name":"Silva Schwartz","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["Lorem","cupidatat","do","irure","veniam"],"longitude":"74.984452","latitude":"25.279393","registered":"Saturday, December 10, 2016 1:21 PM","about":"Amet est minim tempor in aliquip adipisicing deserunt ipsum mollit anim. Laboris eiusmod anim fugiat eiusmod duis dolore consectetur. Tempor dolor mollit reprehenderit in laboris est consequat esse. Lorem reprehenderit laboris velit tempor dolore ea aliquip minim eu officia est. Labore officia eiusmod tempor ea labore veniam. Laboris ut do irure Lorem cupidatat excepteur culpa qui id sit reprehenderit ipsum deserunt.","address":"438 Chester Court, Townsend, Mississippi, 1704","phone":"+1 (958) 499-3451","email":"angeline.schroeder@sealoud.biz","company":"SEALOUD","name":{"last":"Schroeder","first":"Angeline"},"eyeColor":"blue","age":37,"picture":"http://placehold.it/32x32","balance":"$3,871.92","isActive":true,"guid":"fd42c34f-63fe-481a-b3fb-6ab86de3e235","index":8,"_id":"5ac893d73cfb4a44be91b173"},{"favoriteFruit":"apple","greeting":"Hello, Townsend! You have 8 unread messages.","friends":[{"name":"Deborah Michael","id":0},{"name":"Berry Hawkins","id":1},{"name":"Tanisha Contreras","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["id","labore","pariatur","pariatur","do"],"longitude":"126.582359","latitude":"-59.95687","registered":"Tuesday, March 3, 2015 6:02 AM","about":"Lorem voluptate anim irure laboris. Magna voluptate magna minim exercitation aliquip. Duis occaecat deserunt reprehenderit minim dolor nisi sunt. Voluptate anim amet enim aliqua anim pariatur ipsum do ullamco mollit labore occaecat irure irure. Ipsum culpa officia aliquip esse. Non ex incididunt labore officia reprehenderit eu commodo aute ipsum qui sunt ullamco velit non. Labore officia dolor commodo do laborum non cillum tempor nulla est do minim.","address":"771 Taaffe Place, Wollochet, Pennsylvania, 6790","phone":"+1 (907) 570-3975","email":"townsend.dunn@escenta.tv","company":"ESCENTA","name":{"last":"Dunn","first":"Townsend"},"eyeColor":"brown","age":24,"picture":"http://placehold.it/32x32","balance":"$1,192.79","isActive":false,"guid":"e690d0bf-99c2-4c63-9e3f-23769934d943","index":9,"_id":"5ac893d77155f60661afeda4"},{"favoriteFruit":"strawberry","greeting":"Hello, Vinson! You have 5 unread messages.","friends":[{"name":"Gay Romero","id":0},{"name":"Price Wyatt","id":1},{"name":"Witt Jennings","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["et","elit","elit","aute","nisi"],"longitude":"90.663712","latitude":"25.376739","registered":"Thursday, January 12, 2017 10:28 AM","about":"Aliqua nulla ea minim aliqua aliquip amet consectetur nostrud magna pariatur voluptate. Consequat officia in excepteur cupidatat duis irure ipsum. Dolore esse irure ea tempor amet nostrud elit non velit occaecat veniam. Aute fugiat consectetur nostrud occaecat proident ad consequat pariatur laborum. Ex sint do voluptate voluptate voluptate irure excepteur reprehenderit irure id magna elit. Occaecat deserunt id non nostrud laborum.","address":"711 Adler Place, Hatteras, Arkansas, 4024","phone":"+1 (854) 579-3964","email":"vinson.dalton@idealis.name","company":"IDEALIS","name":{"last":"Dalton","first":"Vinson"},"eyeColor":"blue","age":38,"picture":"http://placehold.it/32x32","balance":"$1,620.74","isActive":false,"guid":"8cbf9848-a7a0-4663-860e-623d80e81810","index":10,"_id":"5ac893d77750e86c52239261"},{"favoriteFruit":"strawberry","greeting":"Hello, Bowers! You have 6 unread messages.","friends":[{"name":"Leslie Erickson","id":0},{"name":"Elva Mcneil","id":1},{"name":"Lindsey Salinas","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["irure","magna","pariatur","est","ex"],"longitude":"73.287787","latitude":"82.846897","registered":"Sunday, August 10, 2014 8:23 PM","about":"Est ad veniam dolore fugiat qui non amet adipisicing enim est culpa duis. Commodo irure aute est reprehenderit reprehenderit mollit culpa. Incididunt Lorem anim amet excepteur sit cupidatat in dolor anim velit fugiat incididunt culpa. Amet mollit velit est proident aliqua officia. Tempor ipsum sit ullamco occaecat in.","address":"863 President Street, Hasty, New Jersey, 2018","phone":"+1 (981) 557-3388","email":"bowers.weiss@zilphur.ca","company":"ZILPHUR","name":{"last":"Weiss","first":"Bowers"},"eyeColor":"green","age":33,"picture":"http://placehold.it/32x32","balance":"$3,673.57","isActive":true,"guid":"ecb4d583-d2af-4f76-a062-7ba20231d84d","index":11,"_id":"5ac893d7bf19ed730186c525"},{"favoriteFruit":"strawberry","greeting":"Hello, Petra! You have 5 unread messages.","friends":[{"name":"Shanna Sparks","id":0},{"name":"Bennett Maynard","id":1},{"name":"Meyer George","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["sunt","proident","aute","occaecat","aute"],"longitude":"126.846976","latitude":"-38.100397","registered":"Wednesday, January 4, 2017 9:50 AM","about":"Consectetur in labore laborum fugiat sit Lorem eu sunt laboris esse non nisi elit. Officia id minim sint cillum ut duis sunt. Do consectetur culpa fugiat commodo eiusmod quis dolore aliqua ipsum aliqua id irure. Nisi tempor Lorem nulla consectetur aute esse exercitation consequat ipsum reprehenderit magna. Est irure ipsum officia pariatur occaecat voluptate veniam cillum. Aliqua minim excepteur magna deserunt.","address":"234 Williamsburg Street, Morriston, Kentucky, 5324","phone":"+1 (913) 532-3771","email":"petra.rivera@equitox.org","company":"EQUITOX","name":{"last":"Rivera","first":"Petra"},"eyeColor":"brown","age":33,"picture":"http://placehold.it/32x32","balance":"$3,055.11","isActive":false,"guid":"720176a8-106d-4af5-9cea-2c27b4907b64","index":12,"_id":"5ac893d7ca3f3df8fb9d6d6b"},{"favoriteFruit":"banana","greeting":"Hello, Jerry! You have 5 unread messages.","friends":[{"name":"Allison Fuller","id":0},{"name":"Melinda Barrera","id":1},{"name":"Everett Macias","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["duis","aute","cillum","ut","amet"],"longitude":"-23.036197","latitude":"17.564287","registered":"Monday, February 1, 2016 7:24 AM","about":"Qui aute proident magna Lorem reprehenderit occaecat occaecat cillum proident elit qui ut. Exercitation nisi quis dolor ullamco do. Mollit aliqua consectetur veniam culpa adipisicing labore laborum sint magna consectetur mollit fugiat sit officia. Est enim dolor nisi magna ad occaecat aliquip. Aute quis irure dolore do do do eiusmod ea. Ullamco tempor id aliquip anim dolore eiusmod non.","address":"142 McClancy Place, Bancroft, South Carolina, 3550","phone":"+1 (801) 459-3615","email":"jerry.griffin@illumity.me","company":"ILLUMITY","name":{"last":"Griffin","first":"Jerry"},"eyeColor":"brown","age":27,"picture":"http://placehold.it/32x32","balance":"$3,315.94","isActive":false,"guid":"dda0e5af-1cb6-4586-b406-051e4d084dc6","index":13,"_id":"5ac893d7a6682473dcdb3453"},{"favoriteFruit":"apple","greeting":"Hello, Francisca! You have 8 unread messages.","friends":[{"name":"Berta Dejesus","id":0},{"name":"Lolita Love","id":1},{"name":"Branch Deleon","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["mollit","commodo","ad","proident","ea"],"longitude":"-92.712245","latitude":"9.286337","registered":"Wednesday, August 6, 2014 11:10 PM","about":"Anim reprehenderit dolore amet do sunt ipsum est do excepteur proident enim. Ad consectetur id laboris excepteur qui irure amet. Magna ea commodo consequat do ipsum dolor aute culpa sint magna.","address":"254 College Place, Jenkinsville, Delaware, 7806","phone":"+1 (957) 570-2418","email":"francisca.bauer@permadyne.biz","company":"PERMADYNE","name":{"last":"Bauer","first":"Francisca"},"eyeColor":"brown","age":36,"picture":"http://placehold.it/32x32","balance":"$3,371.32","isActive":false,"guid":"adb59187-4e29-4231-846f-8974aaf219e8","index":14,"_id":"5ac893d7cf937975d5bf157a"},{"favoriteFruit":"strawberry","greeting":"Hello, Gill! You have 5 unread messages.","friends":[{"name":"Gilbert Koch","id":0},{"name":"Alford Woodard","id":1},{"name":"Rivera Barnes","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["dolor","magna","aute","aliquip","quis"],"longitude":"-50.540888","latitude":"39.765572","registered":"Thursday, September 25, 2014 10:26 AM","about":"Magna aliqua do id reprehenderit sit laborum id cillum ut commodo est veniam consequat non. Lorem elit ipsum laboris laborum sint pariatur qui Lorem culpa. Quis exercitation incididunt qui dolor eu.","address":"388 Bartlett Street, Norvelt, New Hampshire, 6089","phone":"+1 (864) 554-2316","email":"gill.snider@dentrex.com","company":"DENTREX","name":{"last":"Snider","first":"Gill"},"eyeColor":"blue","age":21,"picture":"http://placehold.it/32x32","balance":"$2,579.91","isActive":false,"guid":"fe4b62ca-f4a4-47d8-9cb2-03fdbd17a06c","index":15,"_id":"5ac893d71005530c3ab58250"},{"favoriteFruit":"strawberry","greeting":"Hello, Christi! You have 9 unread messages.","friends":[{"name":"Debora Nielsen","id":0},{"name":"Gallegos Nunez","id":1},{"name":"Suzanne Merritt","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["velit","qui","dolor","excepteur","aliqua"],"longitude":"-124.759611","latitude":"-17.427414","registered":"Saturday, January 24, 2015 8:39 PM","about":"Sint ex incididunt officia ad esse tempor cupidatat in. Do elit Lorem ut laboris. Ullamco culpa eiusmod ex est ipsum. Proident elit minim cillum dolor eu laborum nisi proident eu ad quis pariatur esse. Officia amet elit dolore excepteur nostrud aliqua fugiat reprehenderit consequat enim ea exercitation. Labore ea consectetur quis veniam eiusmod labore in et adipisicing.","address":"832 Cranberry Street, Onton, Marshall Islands, 1923","phone":"+1 (890) 539-3375","email":"christi.reyes@zytrek.io","company":"ZYTREK","name":{"last":"Reyes","first":"Christi"},"eyeColor":"brown","age":21,"picture":"http://placehold.it/32x32","balance":"$1,479.75","isActive":false,"guid":"6d71df29-5325-4e59-9a4a-4ceedb1aee51","index":16,"_id":"5ac893d7376ef4f9f1d15e5d"},{"favoriteFruit":"apple","greeting":"Hello, Shelby! You have 10 unread messages.","friends":[{"name":"Esther Ellison","id":0},{"name":"Mayo Conrad","id":1},{"name":"Marcella Sharp","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["nostrud","voluptate","ipsum","consequat","cillum"],"longitude":"-41.230039","latitude":"-40.783266","registered":"Friday, February 26, 2016 6:20 PM","about":"Voluptate esse cillum eu non enim ex dolore tempor veniam nulla ullamco cupidatat anim dolore. Labore dolore dolor ea nostrud in non cupidatat sunt anim enim officia minim. Cupidatat tempor ipsum enim do fugiat et aliqua tempor.","address":"301 Robert Street, Sperryville, Palau, 1967","phone":"+1 (813) 490-3353","email":"shelby.blackwell@xinware.info","company":"XINWARE","name":{"last":"Blackwell","first":"Shelby"},"eyeColor":"brown","age":22,"picture":"http://placehold.it/32x32","balance":"$3,410.15","isActive":false,"guid":"51839347-d332-4091-9889-19f0cae452d8","index":17,"_id":"5ac893d70584763ed106fc50"},{"favoriteFruit":"strawberry","greeting":"Hello, Rachelle! You have 8 unread messages.","friends":[{"name":"Edith Dodson","id":0},{"name":"Brittney Henry","id":1},{"name":"Greta Fisher","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["laboris","minim","aute","ex","exercitation"],"longitude":"38.088546","latitude":"-84.281538","registered":"Friday, June 12, 2015 11:49 PM","about":"Aliqua est enim ea quis ipsum velit deserunt dolore. Aute fugiat voluptate ad commodo sint id sit nisi. Aliquip officia mollit ullamco nulla reprehenderit aliquip veniam ad ipsum nostrud cillum. Deserunt cillum sit pariatur tempor sunt incididunt commodo mollit ut deserunt veniam pariatur excepteur.","address":"929 Kiely Place, Fulford, California, 3158","phone":"+1 (904) 549-2286","email":"rachelle.frank@idetica.co.uk","company":"IDETICA","name":{"last":"Frank","first":"Rachelle"},"eyeColor":"blue","age":32,"picture":"http://placehold.it/32x32","balance":"$1,804.52","isActive":true,"guid":"e79bdf08-aa4d-4cdd-85ec-7de3b3290a91","index":18,"_id":"5ac893d75779bca700569609"},{"favoriteFruit":"banana","greeting":"Hello, Jaime! You have 8 unread messages.","friends":[{"name":"Johnston Blevins","id":0},{"name":"Rios Bridges","id":1},{"name":"Cathryn Kinney","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["pariatur","voluptate","ad","tempor","qui"],"longitude":"161.200494","latitude":"39.830879","registered":"Wednesday, May 31, 2017 2:58 AM","about":"Quis voluptate consequat do elit id voluptate ex fugiat non et. Elit enim aliqua labore sit. Minim velit minim sint nulla ad aliquip nisi officia cillum.","address":"266 Conway Street, Sunwest, North Carolina, 5035","phone":"+1 (803) 569-2543","email":"jaime.collier@remotion.us","company":"REMOTION","name":{"last":"Collier","first":"Jaime"},"eyeColor":"blue","age":32,"picture":"http://placehold.it/32x32","balance":"$2,836.24","isActive":false,"guid":"d3e0acf5-338e-4bff-9612-cf8374d39391","index":19,"_id":"5ac893d7056dbbf21fd32eae"},{"favoriteFruit":"apple","greeting":"Hello, Paulette! You have 6 unread messages.","friends":[{"name":"Samantha Baldwin","id":0},{"name":"Vicki Gentry","id":1},{"name":"Guadalupe Patterson","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["eiusmod","sint","mollit","dolor","dolore"],"longitude":"-23.445386","latitude":"-14.521156","registered":"Wednesday, March 4, 2015 5:25 PM","about":"Dolore Lorem adipisicing magna velit non proident sint do aliquip aliqua sint eiusmod. Excepteur do dolor non reprehenderit nisi deserunt ad in sint mollit non ex laboris. Ad veniam irure pariatur ea pariatur commodo cillum aliqua tempor Lorem eiusmod anim sint. Sit velit sunt reprehenderit cillum commodo voluptate esse nostrud ex esse fugiat mollit duis minim. Labore nulla veniam enim nisi incididunt labore magna irure reprehenderit aliqua cillum enim irure sunt. Culpa qui ut ut excepteur commodo dolor nulla sint. Et occaecat aliqua fugiat elit cillum dolor Lorem nulla eiusmod incididunt.","address":"637 Elmwood Avenue, Dalton, North Dakota, 9841","phone":"+1 (889) 576-2966","email":"paulette.carr@applideck.biz","company":"APPLIDECK","name":{"last":"Carr","first":"Paulette"},"eyeColor":"green","age":32,"picture":"http://placehold.it/32x32","balance":"$1,828.51","isActive":true,"guid":"29004353-7579-4edb-bdfd-9d4d907f7937","index":20,"_id":"5ac893d77453d8976c55e253"},{"favoriteFruit":"banana","greeting":"Hello, Julia! You have 8 unread messages.","friends":[{"name":"Nolan Mosley","id":0},{"name":"Brianna Rutledge","id":1},{"name":"Carey Slater","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["culpa","cillum","nisi","laboris","fugiat"],"longitude":"-9.210399","latitude":"88.301416","registered":"Tuesday, January 6, 2015 7:41 PM","about":"Pariatur veniam commodo sunt ut in consequat excepteur voluptate elit. Eiusmod ipsum consequat ex Lorem proident qui esse amet mollit labore aliquip enim. Proident aliqua minim do nulla est et in aliquip ipsum. Nisi nisi sunt anim cillum nulla. Dolor deserunt officia ipsum est voluptate laborum. Adipisicing dolor laboris non cupidatat aliqua mollit ex do ut magna in pariatur deserunt. Ex Lorem et veniam minim enim dolor nulla sunt dolor enim commodo nostrud elit proident.","address":"749 Bevy Court, Sparkill, Puerto Rico, 4746","phone":"+1 (827) 566-3763","email":"julia.fry@spherix.tv","company":"SPHERIX","name":{"last":"Fry","first":"Julia"},"eyeColor":"green","age":25,"picture":"http://placehold.it/32x32","balance":"$3,165.87","isActive":false,"guid":"03b39b73-423e-4e14-ac45-ecbea68b05ba","index":21,"_id":"5ac893d707708b8f24dba451"},{"favoriteFruit":"strawberry","greeting":"Hello, Pace! You have 5 unread messages.","friends":[{"name":"Clements Cunningham","id":0},{"name":"Knapp Welch","id":1},{"name":"Wolf Mathews","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["dolore","amet","cupidatat","nisi","irure"],"longitude":"-15.435607","latitude":"79.444711","registered":"Friday, December 1, 2017 1:52 AM","about":"Eu nisi id irure consequat. Fugiat fugiat nostrud commodo anim sit excepteur in. Consequat do aliquip ipsum fugiat mollit eiusmod cillum veniam reprehenderit. Veniam sunt consequat tempor consequat mollit laboris aliqua cupidatat. Qui proident incididunt ipsum ut aliqua aliqua adipisicing dolore sit nisi commodo fugiat dolor. Dolore adipisicing occaecat in labore.","address":"251 Charles Place, Catharine, Utah, 5700","phone":"+1 (898) 457-3340","email":"pace.goff@netbook.name","company":"NETBOOK","name":{"last":"Goff","first":"Pace"},"eyeColor":"brown","age":30,"picture":"http://placehold.it/32x32","balance":"$3,511.64","isActive":true,"guid":"94e5f1e4-518d-4298-b514-9ae82701db07","index":22,"_id":"5ac893d784ac6ea411a07525"},{"favoriteFruit":"apple","greeting":"Hello, Dickson! You have 10 unread messages.","friends":[{"name":"Chris Griffith","id":0},{"name":"Aida Herman","id":1},{"name":"Luisa York","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["aliqua","incididunt","minim","cupidatat","pariatur"],"longitude":"-11.966349","latitude":"-29.96547","registered":"Sunday, April 9, 2017 6:44 AM","about":"Et officia Lorem enim mollit eiusmod culpa mollit in et. Fugiat culpa adipisicing ullamco fugiat eu non culpa voluptate officia quis exercitation aliqua. Consectetur aliquip duis dolore ad nostrud commodo. Do eu ipsum tempor in nostrud voluptate ad est sunt. Consequat amet proident non ut anim. Fugiat sint fugiat laboris non. Enim proident fugiat esse velit ad aliqua consectetur.","address":"454 Alabama Avenue, Fivepointville, District Of Columbia, 3561","phone":"+1 (802) 471-2979","email":"dickson.mcleod@bolax.ca","company":"BOLAX","name":{"last":"Mcleod","first":"Dickson"},"eyeColor":"green","age":20,"picture":"http://placehold.it/32x32","balance":"$2,753.06","isActive":true,"guid":"9317b046-a2f4-4653-a3da-87398cc12f28","index":23,"_id":"5ac893d7ace42db406cc5e41"},{"favoriteFruit":"banana","greeting":"Hello, Miranda! You have 5 unread messages.","friends":[{"name":"Petty Conley","id":0},{"name":"Darcy Garner","id":1},{"name":"Best Stephenson","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["eiusmod","incididunt","proident","dolore","ut"],"longitude":"-157.850151","latitude":"-24.846293","registered":"Saturday, March 28, 2015 11:53 PM","about":"Officia velit anim aute reprehenderit veniam occaecat et ut voluptate excepteur elit duis. Tempor Lorem sunt aliqua culpa irure ipsum dolor commodo dolore laborum reprehenderit voluptate. Occaecat irure nostrud reprehenderit sit esse fugiat.","address":"907 Prospect Avenue, Clinton, Michigan, 1159","phone":"+1 (809) 476-2378","email":"miranda.wynn@microluxe.org","company":"MICROLUXE","name":{"last":"Wynn","first":"Miranda"},"eyeColor":"blue","age":39,"picture":"http://placehold.it/32x32","balance":"$2,874.36","isActive":true,"guid":"3f3a71a1-338a-408a-bbf4-5022e8933aa4","index":24,"_id":"5ac893d72d8f6965449c409b"},{"favoriteFruit":"banana","greeting":"Hello, Obrien! You have 5 unread messages.","friends":[{"name":"Dorthy Kaufman","id":0},{"name":"Marie Tucker","id":1},{"name":"Doreen Marks","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["magna","aliqua","cillum","amet","irure"],"longitude":"40.271858","latitude":"-36.446306","registered":"Friday, August 7, 2015 2:13 AM","about":"Ex elit dolor nulla aute cupidatat quis. Nostrud sint do sit fugiat nisi sunt commodo sunt sit excepteur eu laboris irure consequat. Pariatur aliquip ipsum sint qui eiusmod labore exercitation aute labore tempor ex commodo dolore.","address":"783 Irvington Place, Campo, Connecticut, 9941","phone":"+1 (927) 410-3850","email":"obrien.watts@motovate.me","company":"MOTOVATE","name":{"last":"Watts","first":"Obrien"},"eyeColor":"blue","age":35,"picture":"http://placehold.it/32x32","balance":"$1,557.99","isActive":true,"guid":"66c1c87f-418b-4399-90a9-f87476ca62ff","index":25,"_id":"5ac893d71fb6dc0506a9da8b"},{"favoriteFruit":"apple","greeting":"Hello, Grace! You have 6 unread messages.","friends":[{"name":"Nixon Tate","id":0},{"name":"Courtney Kelly","id":1},{"name":"Noreen Duncan","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["consectetur","nisi","proident","adipisicing","aliqua"],"longitude":"-24.73089","latitude":"38.356709","registered":"Sunday, May 22, 2016 10:55 AM","about":"Occaecat pariatur excepteur tempor ullamco consectetur et et cillum quis eiusmod. Qui consequat nulla elit voluptate sit aliquip amet adipisicing occaecat et aliqua. Laboris reprehenderit anim consectetur excepteur elit laboris dolore sint officia amet sit cillum laboris. Exercitation id do esse dolore ea ut amet proident officia do esse laborum elit. Proident ullamco consequat Lorem ullamco aliquip amet laborum pariatur aliquip nisi amet tempor.","address":"234 McKinley Avenue, Fannett, Georgia, 4693","phone":"+1 (881) 569-3027","email":"grace.hoffman@olucore.biz","company":"OLUCORE","name":{"last":"Hoffman","first":"Grace"},"eyeColor":"brown","age":40,"picture":"http://placehold.it/32x32","balance":"$1,336.40","isActive":true,"guid":"fae3123f-79f7-4760-951e-e1c9c2b48b98","index":26,"_id":"5ac893d71495363e82950521"},{"favoriteFruit":"strawberry","greeting":"Hello, Emma! You have 6 unread messages.","friends":[{"name":"Lila Keller","id":0},{"name":"Hines Barnett","id":1},{"name":"Gonzalez Mooney","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["non","aliqua","Lorem","minim","proident"],"longitude":"-176.024929","latitude":"-22.011004","registered":"Friday, January 31, 2014 2:45 AM","about":"Tempor dolor laboris tempor exercitation amet enim adipisicing anim nostrud et ex. Cillum non labore deserunt duis ut excepteur sunt nostrud proident sint elit anim esse. Occaecat consequat aute enim nostrud aute eiusmod elit qui deserunt id laboris in do exercitation. Pariatur est ipsum non ea ad qui sit. Quis cillum ullamco aliquip non ex. Do esse ex nostrud non fugiat cupidatat cillum quis. Do labore pariatur fugiat consequat labore commodo laborum anim consequat est.","address":"224 Adelphi Street, Grazierville, Virgin Islands, 3470","phone":"+1 (998) 491-2235","email":"emma.rollins@accupharm.com","company":"ACCUPHARM","name":{"last":"Rollins","first":"Emma"},"eyeColor":"green","age":32,"picture":"http://placehold.it/32x32","balance":"$2,895.52","isActive":false,"guid":"8b078a50-2ffe-48c6-884d-2246d014a05d","index":27,"_id":"5ac893d7cb48b130761ea371"},{"favoriteFruit":"apple","greeting":"Hello, Magdalena! You have 7 unread messages.","friends":[{"name":"Alvarado Yates","id":0},{"name":"Josie Frost","id":1},{"name":"Roslyn Hayes","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["velit","exercitation","mollit","commodo","tempor"],"longitude":"-121.15596","latitude":"41.980286","registered":"Saturday, October 31, 2015 2:53 PM","about":"Ut irure eiusmod dolor non ad et cupidatat cillum id culpa sunt. Aliqua minim adipisicing reprehenderit esse reprehenderit dolore ex nulla ipsum qui exercitation irure magna labore. Et sint irure incididunt cillum est deserunt eu ex consectetur. In proident cupidatat nulla fugiat cillum excepteur ut cupidatat in aliquip pariatur anim.","address":"558 Hudson Avenue, Unionville, Tennessee, 570","phone":"+1 (822) 600-3065","email":"magdalena.thomas@elentrix.io","company":"ELENTRIX","name":{"last":"Thomas","first":"Magdalena"},"eyeColor":"green","age":27,"picture":"http://placehold.it/32x32","balance":"$1,811.92","isActive":false,"guid":"edb1110b-5ee2-417a-822b-1b438176e167","index":28,"_id":"5ac893d8c7708635b90f27df"},{"favoriteFruit":"apple","greeting":"Hello, Michael! You have 9 unread messages.","friends":[{"name":"Wyatt Cochran","id":0},{"name":"Woods Fields","id":1},{"name":"Santana Moody","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["non","proident","sunt","exercitation","eu"],"longitude":"94.333642","latitude":"62.296075","registered":"Wednesday, December 13, 2017 10:18 AM","about":"Voluptate velit ut labore minim enim velit. Amet dolore mollit amet fugiat ut ut ad ad voluptate. In quis nisi nisi ipsum laborum laborum proident voluptate consectetur. Nulla sint et nisi ullamco exercitation quis labore do quis. Aute esse excepteur esse ad Lorem elit deserunt Lorem velit proident dolore.","address":"582 Irving Place, Dowling, Federated States Of Micronesia, 6999","phone":"+1 (805) 525-2621","email":"michael.hodges@tripsch.info","company":"TRIPSCH","name":{"last":"Hodges","first":"Michael"},"eyeColor":"green","age":34,"picture":"http://placehold.it/32x32","balance":"$1,692.77","isActive":true,"guid":"f9d72f74-5982-4a6a-8ba6-254440ad90b2","index":29,"_id":"5ac893d80ea35b64912fa184"},{"favoriteFruit":"apple","greeting":"Hello, Ball! You have 10 unread messages.","friends":[{"name":"Beasley Lindsay","id":0},{"name":"Mcgowan Henderson","id":1},{"name":"Celina Mcintyre","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["ut","non","eu","ut","commodo"],"longitude":"-66.99755","latitude":"74.389772","registered":"Sunday, April 10, 2016 11:18 AM","about":"Lorem culpa labore esse in commodo non quis laboris nisi velit tempor. Laborum officia excepteur proident esse. Labore consectetur nisi consequat Lorem non occaecat consequat est exercitation. Non Lorem cupidatat officia quis pariatur. Voluptate dolore incididunt tempor do. Dolore consequat cupidatat quis nisi id.","address":"678 Jardine Place, Dunlo, Maryland, 7858","phone":"+1 (994) 489-2975","email":"ball.miller@ronelon.co.uk","company":"RONELON","name":{"last":"Miller","first":"Ball"},"eyeColor":"blue","age":29,"picture":"http://placehold.it/32x32","balance":"$2,816.00","isActive":true,"guid":"9b19c36b-33cc-49a0-ae00-b375a9c6c13d","index":30,"_id":"5ac893d814665c37a98b21ae"},{"favoriteFruit":"strawberry","greeting":"Hello, Johnson! You have 10 unread messages.","friends":[{"name":"Lillie Lloyd","id":0},{"name":"Rose Brooks","id":1},{"name":"Paige Diaz","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["proident","veniam","qui","cillum","exercitation"],"longitude":"-111.066632","latitude":"-18.589071","registered":"Wednesday, October 8, 2014 12:41 AM","about":"Sit elit nulla incididunt et ex eiusmod ut non. Commodo ut laborum occaecat aliqua magna culpa culpa nostrud ipsum nostrud id. Do magna labore ipsum aliqua et qui veniam quis. Enim ut ullamco veniam Lorem ea pariatur Lorem cillum sunt. Pariatur incididunt ipsum Lorem magna mollit ea laboris. Sit fugiat laboris commodo tempor magna et nulla id cillum cupidatat commodo aliquip.","address":"492 Hart Place, Kenwood, New Mexico, 5104","phone":"+1 (822) 471-3644","email":"johnson.rowe@cyclonica.us","company":"CYCLONICA","name":{"last":"Rowe","first":"Johnson"},"eyeColor":"blue","age":36,"picture":"http://placehold.it/32x32","balance":"$2,934.93","isActive":true,"guid":"b7251b9a-68d5-4d3c-9ada-5015e239561c","index":31,"_id":"5ac893d86bccdebf52ef5f84"},{"favoriteFruit":"strawberry","greeting":"Hello, Debbie! You have 9 unread messages.","friends":[{"name":"Wise Garrison","id":0},{"name":"Sally Washington","id":1},{"name":"Hooper Howard","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["commodo","esse","quis","ex","tempor"],"longitude":"17.82161","latitude":"0.503343","registered":"Monday, May 19, 2014 4:33 AM","about":"Laborum sit eiusmod excepteur est aliqua aliquip anim adipisicing incididunt voluptate qui. Non id nostrud ipsum quis culpa ullamco incididunt. Officia ea voluptate eiusmod dolor velit culpa cillum excepteur dolor reprehenderit occaecat in.","address":"699 John Street, Hiseville, Oregon, 8560","phone":"+1 (938) 442-2695","email":"debbie.gordon@hotcakes.biz","company":"HOTCAKES","name":{"last":"Gordon","first":"Debbie"},"eyeColor":"brown","age":32,"picture":"http://placehold.it/32x32","balance":"$1,716.74","isActive":false,"guid":"cf3d1121-e978-4dbe-819a-6ceaab6b2355","index":32,"_id":"5ac893d8eb6cc080b098b925"},{"favoriteFruit":"banana","greeting":"Hello, Buckley! You have 9 unread messages.","friends":[{"name":"Hogan Park","id":0},{"name":"Rena Osborn","id":1},{"name":"Parsons Morris","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["magna","dolor","quis","pariatur","pariatur"],"longitude":"148.296184","latitude":"-87.823552","registered":"Sunday, April 12, 2015 12:32 AM","about":"Mollit pariatur tempor sint est culpa laboris dolor aliquip ut labore duis ex tempor. In aute sunt velit ad enim do. Magna aliqua elit sint veniam proident fugiat voluptate.","address":"548 Bragg Street, Hall, Nevada, 653","phone":"+1 (843) 473-3972","email":"buckley.finley@deminimum.tv","company":"DEMINIMUM","name":{"last":"Finley","first":"Buckley"},"eyeColor":"green","age":25,"picture":"http://placehold.it/32x32","balance":"$3,177.37","isActive":false,"guid":"ed1bc8b1-7569-4bcc-9fae-03cb8d207526","index":33,"_id":"5ac893d806549227f328f3c2"},{"favoriteFruit":"banana","greeting":"Hello, Palmer! You have 7 unread messages.","friends":[{"name":"Goodwin Bartlett","id":0},{"name":"Gale Sims","id":1},{"name":"Jimmie Mcdowell","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["magna","exercitation","sint","excepteur","est"],"longitude":"53.435371","latitude":"-80.910004","registered":"Thursday, April 24, 2014 8:42 AM","about":"Non consequat sint aliquip magna ad ut cillum ullamco. Do reprehenderit reprehenderit anim ut do ex duis laboris veniam enim id Lorem. Aliquip incididunt ipsum ut veniam. In aliqua enim minim adipisicing ipsum nostrud laboris. Ipsum esse amet ipsum excepteur incididunt officia nisi consectetur ullamco in ex nulla. Minim laborum deserunt ullamco deserunt.","address":"341 Lee Avenue, Salvo, Rhode Island, 2506","phone":"+1 (823) 497-2344","email":"palmer.bradford@pyramax.name","company":"PYRAMAX","name":{"last":"Bradford","first":"Palmer"},"eyeColor":"blue","age":31,"picture":"http://placehold.it/32x32","balance":"$3,690.14","isActive":true,"guid":"4081e382-d692-4aba-846c-f11f98d6737e","index":34,"_id":"5ac893d833d8012d145ae037"},{"favoriteFruit":"strawberry","greeting":"Hello, Bettye! You have 7 unread messages.","friends":[{"name":"Copeland Stark","id":0},{"name":"Winnie Hughes","id":1},{"name":"Alvarez Haley","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["elit","adipisicing","voluptate","labore","eiusmod"],"longitude":"-108.770587","latitude":"-28.531365","registered":"Monday, November 2, 2015 10:53 AM","about":"Nostrud consectetur est aliqua nisi id nisi aute ullamco nostrud. Et ipsum ad cupidatat eu. Officia exercitation dolore mollit voluptate cupidatat anim adipisicing voluptate ea laboris.","address":"724 Independence Avenue, Welda, Massachusetts, 4533","phone":"+1 (909) 487-2347","email":"bettye.dawson@geekol.ca","company":"GEEKOL","name":{"last":"Dawson","first":"Bettye"},"eyeColor":"brown","age":32,"picture":"http://placehold.it/32x32","balance":"$2,556.15","isActive":true,"guid":"fbb6d346-b722-4817-80ae-7c54cccf85ed","index":35,"_id":"5ac893d82ff77011a8875f82"},{"favoriteFruit":"apple","greeting":"Hello, Baird! You have 8 unread messages.","friends":[{"name":"Oliver Paul","id":0},{"name":"Strickland Browning","id":1},{"name":"Dionne Russell","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["do","pariatur","occaecat","tempor","laborum"],"longitude":"-24.687631","latitude":"-62.031183","registered":"Thursday, July 28, 2016 1:48 AM","about":"Mollit et consequat eiusmod velit anim do ut occaecat commodo sunt ea. Minim dolore enim deserunt duis ea qui esse aute. Nostrud amet quis reprehenderit Lorem excepteur magna ea et cupidatat nulla adipisicing incididunt anim. Velit labore occaecat exercitation cupidatat adipisicing pariatur elit sint. Qui ipsum esse do labore enim nulla sit occaecat quis occaecat dolor nostrud officia. Velit ipsum ipsum et ipsum.","address":"757 Fairview Place, Williston, West Virginia, 3538","phone":"+1 (839) 516-3393","email":"baird.harrington@plasmox.org","company":"PLASMOX","name":{"last":"Harrington","first":"Baird"},"eyeColor":"green","age":32,"picture":"http://placehold.it/32x32","balance":"$1,903.72","isActive":false,"guid":"5b15bbba-764c-4df8-a0ab-8b2a2397778c","index":36,"_id":"5ac893d8c13c357996f47190"},{"favoriteFruit":"apple","greeting":"Hello, Miller! You have 6 unread messages.","friends":[{"name":"Cardenas Bonner","id":0},{"name":"Dana Potter","id":1},{"name":"Bridgette Villarreal","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["Lorem","Lorem","in","fugiat","culpa"],"longitude":"-127.917752","latitude":"-30.993202","registered":"Wednesday, August 17, 2016 9:30 PM","about":"Et velit veniam cillum est. Veniam non cillum in excepteur sint culpa veniam dolore cupidatat. Laboris irure irure excepteur dolore.","address":"564 Conover Street, Forestburg, Arizona, 4821","phone":"+1 (907) 466-3249","email":"miller.strickland@lyria.me","company":"LYRIA","name":{"last":"Strickland","first":"Miller"},"eyeColor":"blue","age":20,"picture":"http://placehold.it/32x32","balance":"$2,026.12","isActive":true,"guid":"7ad1c597-6289-41b2-9b3e-e3efbfe49b9f","index":37,"_id":"5ac893d89688ce68d0316fb2"},{"favoriteFruit":"apple","greeting":"Hello, Garrett! You have 10 unread messages.","friends":[{"name":"Thelma Greer","id":0},{"name":"Garza Hatfield","id":1},{"name":"Lynch Gates","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["qui","adipisicing","sint","ut","qui"],"longitude":"-63.096826","latitude":"12.6347","registered":"Saturday, August 5, 2017 3:53 PM","about":"Excepteur ea ex incididunt proident culpa consectetur aliquip aliquip aliquip tempor. Sunt veniam nostrud consectetur nostrud quis Lorem eu occaecat excepteur cillum dolor proident quis officia. Incididunt dolor eu eu irure reprehenderit excepteur et Lorem ullamco. Exercitation ut minim voluptate incididunt ea do ipsum ad dolore consectetur veniam. Deserunt elit labore laboris aliquip ullamco quis occaecat occaecat ut sunt. Nulla cillum amet mollit minim ad laborum aute magna.","address":"313 Karweg Place, Trona, Maine, 2368","phone":"+1 (997) 572-3371","email":"garrett.pickett@boilcat.biz","company":"BOILCAT","name":{"last":"Pickett","first":"Garrett"},"eyeColor":"brown","age":29,"picture":"http://placehold.it/32x32","balance":"$2,788.98","isActive":false,"guid":"40ea5acd-6523-49ac-b163-5d53625b9c9a","index":38,"_id":"5ac893d875644eeba80fc395"},{"favoriteFruit":"apple","greeting":"Hello, Brady! You have 5 unread messages.","friends":[{"name":"Spence Mckay","id":0},{"name":"Yates Dudley","id":1},{"name":"Bernice Dickerson","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["minim","magna","cillum","laborum","qui"],"longitude":"-117.47472","latitude":"-36.419884","registered":"Wednesday, May 25, 2016 6:28 PM","about":"Veniam fugiat id sint do cupidatat cillum pariatur consectetur amet ipsum ipsum aute consectetur sit. Nostrud ut magna fugiat amet Lorem fugiat laboris Lorem labore. Aliqua consectetur est aliqua dolor elit fugiat esse do sit ea.","address":"507 Luquer Street, Wyano, Missouri, 4193","phone":"+1 (845) 486-3572","email":"brady.strong@apexia.com","company":"APEXIA","name":{"last":"Strong","first":"Brady"},"eyeColor":"green","age":33,"picture":"http://placehold.it/32x32","balance":"$3,189.87","isActive":true,"guid":"59e1b53a-bdb3-4c33-af60-cf5108c1e161","index":39,"_id":"5ac893d80914ebad3574a666"},{"favoriteFruit":"strawberry","greeting":"Hello, Angelita! You have 9 unread messages.","friends":[{"name":"Lacy Velez","id":0},{"name":"Genevieve Myers","id":1},{"name":"Laverne Stone","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["et","culpa","cillum","officia","ullamco"],"longitude":"-117.379309","latitude":"-36.618042","registered":"Friday, July 21, 2017 9:52 PM","about":"Sunt cupidatat velit ut minim veniam minim occaecat anim excepteur Lorem mollit culpa ea. Fugiat fugiat labore eiusmod tempor nisi in Lorem tempor eu ex laborum cillum. Esse nisi quis ullamco exercitation est excepteur minim est irure exercitation voluptate. Eu ut non ipsum excepteur commodo dolore consequat ut commodo consequat qui ad eu. Tempor nisi ex nisi fugiat cillum pariatur. Commodo sint ad aliquip culpa.","address":"810 Calder Place, Rivers, Kansas, 3935","phone":"+1 (822) 424-2296","email":"angelita.molina@zentix.io","company":"ZENTIX","name":{"last":"Molina","first":"Angelita"},"eyeColor":"green","age":23,"picture":"http://placehold.it/32x32","balance":"$3,149.77","isActive":false,"guid":"539ddf53-f018-4504-9a77-c9c23d175e5c","index":40,"_id":"5ac893d8a2316b639d431372"},{"favoriteFruit":"apple","greeting":"Hello, Lucile! You have 8 unread messages.","friends":[{"name":"Beverley Bolton","id":0},{"name":"Bell Morrow","id":1},{"name":"Meadows Lucas","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["cupidatat","Lorem","quis","deserunt","tempor"],"longitude":"-35.899938","latitude":"-24.185353","registered":"Wednesday, May 31, 2017 6:50 AM","about":"Incididunt eiusmod velit reprehenderit tempor excepteur incididunt excepteur. Sit cupidatat nisi anim ullamco occaecat labore. Ullamco est mollit sunt et consectetur ex elit magna elit culpa. Aliquip non non reprehenderit laborum ipsum ullamco minim sunt laboris incididunt cillum eu incididunt. Eiusmod ex dolor et incididunt occaecat do irure magna pariatur amet proident. Officia id enim mollit elit. Qui aute adipisicing reprehenderit aliquip laborum nostrud dolore adipisicing.","address":"853 Miami Court, Sanford, Alaska, 5362","phone":"+1 (827) 492-2174","email":"lucile.palmer@zaj.info","company":"ZAJ","name":{"last":"Palmer","first":"Lucile"},"eyeColor":"blue","age":21,"picture":"http://placehold.it/32x32","balance":"$1,010.18","isActive":true,"guid":"c7ea81ba-48ed-431a-a801-0815c0739b9e","index":41,"_id":"5ac893d86839ca4d169e95e0"},{"favoriteFruit":"banana","greeting":"Hello, Tricia! You have 8 unread messages.","friends":[{"name":"Traci Harvey","id":0},{"name":"Kane Dorsey","id":1},{"name":"Garrison Moon","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["culpa","exercitation","incididunt","consequat","deserunt"],"longitude":"105.730707","latitude":"13.26204","registered":"Saturday, January 9, 2016 1:31 AM","about":"Commodo mollit labore velit laboris ut aute minim. Aliquip consectetur ex ullamco reprehenderit duis et mollit sint et exercitation. In elit eiusmod culpa culpa esse sunt esse nostrud voluptate amet eu sint id. Id ea sit exercitation incididunt quis magna nisi exercitation incididunt. Proident sunt est laboris anim aliqua in.","address":"595 Montauk Avenue, Dawn, Wisconsin, 7700","phone":"+1 (842) 436-3144","email":"tricia.jordan@securia.co.uk","company":"SECURIA","name":{"last":"Jordan","first":"Tricia"},"eyeColor":"blue","age":37,"picture":"http://placehold.it/32x32","balance":"$2,339.16","isActive":false,"guid":"404d16fb-d96d-4437-97c5-257eade25a3a","index":42,"_id":"5ac893d860678c1dffbc78c1"},{"favoriteFruit":"strawberry","greeting":"Hello, Tracie! You have 7 unread messages.","friends":[{"name":"Chrystal Valencia","id":0},{"name":"Lindsay Ayala","id":1},{"name":"Cash Cox","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["ullamco","reprehenderit","sunt","eiusmod","aliquip"],"longitude":"-94.378345","latitude":"22.605685","registered":"Tuesday, April 8, 2014 9:39 PM","about":"Eu et est pariatur elit reprehenderit nulla enim eu ut. Lorem velit cillum reprehenderit reprehenderit anim. Est do cillum exercitation ea anim pariatur magna est laborum cupidatat proident duis veniam incididunt. Excepteur laborum anim cupidatat id nulla consequat nulla ipsum.","address":"410 Montrose Avenue, Machias, Virginia, 2305","phone":"+1 (839) 599-2381","email":"tracie.alvarez@darwinium.us","company":"DARWINIUM","name":{"last":"Alvarez","first":"Tracie"},"eyeColor":"blue","age":30,"picture":"http://placehold.it/32x32","balance":"$3,587.99","isActive":true,"guid":"0933cc42-6645-4998-875c-c4833669aa9a","index":43,"_id":"5ac893d8d17bb223533a174d"},{"favoriteFruit":"strawberry","greeting":"Hello, Taylor! You have 10 unread messages.","friends":[{"name":"Spencer Pace","id":0},{"name":"Bianca Stout","id":1},{"name":"Kaufman Riddle","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["in","qui","aliqua","aliqua","non"],"longitude":"111.703624","latitude":"-4.805721","registered":"Wednesday, November 8, 2017 6:24 PM","about":"Ullamco commodo commodo non enim. Consectetur exercitation duis sint velit consequat sunt mollit fugiat. Cupidatat proident et minim veniam. Ex laborum cillum ipsum ex sint. Lorem ut veniam anim laboris aliqua ullamco esse occaecat est adipisicing qui.","address":"778 Everett Avenue, Haena, Ohio, 6322","phone":"+1 (848) 422-3102","email":"taylor.brennan@zillar.biz","company":"ZILLAR","name":{"last":"Brennan","first":"Taylor"},"eyeColor":"blue","age":23,"picture":"http://placehold.it/32x32","balance":"$2,119.73","isActive":false,"guid":"07842d74-947c-4cf2-9883-b19400623820","index":44,"_id":"5ac893d875bce0edbf7b7034"},{"favoriteFruit":"banana","greeting":"Hello, Delaney! You have 10 unread messages.","friends":[{"name":"Lidia Shepard","id":0},{"name":"Charlene Alston","id":1},{"name":"Pierce King","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["magna","ad","amet","duis","exercitation"],"longitude":"150.201264","latitude":"72.700596","registered":"Saturday, July 1, 2017 8:19 AM","about":"Est sint laboris reprehenderit ex. Esse proident labore adipisicing elit incididunt laborum in dolore consequat duis eu ut cupidatat cillum. Ullamco labore reprehenderit adipisicing aliquip ut irure. Cupidatat deserunt pariatur nisi nulla dolore officia ut labore amet elit. Ex eu enim qui consectetur non fugiat deserunt eiusmod elit pariatur. Ad est est do sit sunt eiusmod occaecat mollit ullamco excepteur.","address":"446 Green Street, Abrams, Hawaii, 9920","phone":"+1 (814) 570-3638","email":"delaney.dillon@comvey.tv","company":"COMVEY","name":{"last":"Dillon","first":"Delaney"},"eyeColor":"blue","age":39,"picture":"http://placehold.it/32x32","balance":"$3,222.92","isActive":true,"guid":"d1ea25f4-c921-4d91-8d9e-03eeaab480e6","index":45,"_id":"5ac893d81af7fbe5e0944889"},{"favoriteFruit":"banana","greeting":"Hello, Rosalyn! You have 8 unread messages.","friends":[{"name":"Antonia Harper","id":0},{"name":"Tabatha Ray","id":1},{"name":"Schroeder Yang","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["et","Lorem","nostrud","veniam","enim"],"longitude":"-152.37219","latitude":"34.244686","registered":"Friday, January 27, 2017 11:09 AM","about":"Tempor duis fugiat aute nisi velit excepteur culpa aliqua. Est do est esse sint ea commodo esse reprehenderit officia velit mollit. Adipisicing eiusmod Lorem consequat qui nulla minim nostrud nulla eu nulla irure elit ad.","address":"157 Hornell Loop, Homestead, Florida, 5834","phone":"+1 (958) 520-2549","email":"rosalyn.guthrie@deviltoe.name","company":"DEVILTOE","name":{"last":"Guthrie","first":"Rosalyn"},"eyeColor":"blue","age":30,"picture":"http://placehold.it/32x32","balance":"$3,002.99","isActive":true,"guid":"d21e5210-cb46-46b0-a751-be3734ee3b8e","index":46,"_id":"5ac893d86a9d7a752a3b3cb5"},{"favoriteFruit":"strawberry","greeting":"Hello, Wilson! You have 8 unread messages.","friends":[{"name":"Merle Craft","id":0},{"name":"Sue Mcclure","id":1},{"name":"Rhoda Mcclain","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["commodo","labore","ullamco","enim","ex"],"longitude":"-125.941315","latitude":"54.983739","registered":"Wednesday, May 11, 2016 7:38 PM","about":"Consectetur incididunt pariatur in incididunt est amet tempor voluptate cupidatat sint incididunt aliqua cupidatat. Incididunt enim dolore cupidatat aliquip sint minim ut dolor. Fugiat culpa aliquip magna aute Lorem pariatur magna adipisicing anim aliqua. Sint exercitation nostrud duis incididunt ullamco consequat laborum excepteur fugiat reprehenderit ex ullamco.","address":"891 Church Lane, Mappsville, Louisiana, 1437","phone":"+1 (825) 578-3570","email":"wilson.talley@senmei.ca","company":"SENMEI","name":{"last":"Talley","first":"Wilson"},"eyeColor":"green","age":27,"picture":"http://placehold.it/32x32","balance":"$3,280.81","isActive":true,"guid":"bdfae2ab-af8a-4c56-a727-4378dad42749","index":47,"_id":"5ac893d850f9a0372634f12b"},{"favoriteFruit":"apple","greeting":"Hello, Joanne! You have 6 unread messages.","friends":[{"name":"Sellers Mckee","id":0},{"name":"Ada Rice","id":1},{"name":"Candace Nguyen","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["velit","quis","ad","exercitation","consequat"],"longitude":"-28.105115","latitude":"37.20469","registered":"Monday, November 13, 2017 7:37 AM","about":"Qui cupidatat qui nostrud sint laboris elit ullamco nisi duis est consectetur quis culpa deserunt. Eiusmod consequat elit magna laborum commodo labore nisi. Id esse ut elit dolor Lorem ullamco aute enim excepteur ea id nulla.","address":"120 Sutter Avenue, Urie, Nebraska, 2470","phone":"+1 (830) 577-3410","email":"joanne.wall@opticom.org","company":"OPTICOM","name":{"last":"Wall","first":"Joanne"},"eyeColor":"green","age":28,"picture":"http://placehold.it/32x32","balance":"$2,120.71","isActive":true,"guid":"d90af880-48c0-49a7-8594-28fcea31d488","index":48,"_id":"5ac893d861a1898afd55d073"},{"favoriteFruit":"banana","greeting":"Hello, Maldonado! You have 6 unread messages.","friends":[{"name":"Rosales Walton","id":0},{"name":"Lynda Hopkins","id":1},{"name":"Case Levine","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["in","ipsum","cupidatat","reprehenderit","veniam"],"longitude":"-81.700092","latitude":"64.934136","registered":"Saturday, July 4, 2015 9:10 AM","about":"Velit consequat reprehenderit aliqua magna anim pariatur. Sunt est ullamco aliqua veniam proident exercitation. Ad esse est dolore Lorem dolore labore reprehenderit laborum aliqua.","address":"256 Wortman Avenue, Windsor, Idaho, 3850","phone":"+1 (920) 512-2817","email":"maldonado.stokes@medesign.me","company":"MEDESIGN","name":{"last":"Stokes","first":"Maldonado"},"eyeColor":"green","age":40,"picture":"http://placehold.it/32x32","balance":"$1,941.21","isActive":false,"guid":"e87d7aac-385e-4a6e-a893-5fcb007dad02","index":49,"_id":"5ac893d816c953bb139873ac"},{"favoriteFruit":"strawberry","greeting":"Hello, Burton! You have 10 unread messages.","friends":[{"name":"Gross David","id":0},{"name":"Shari Chang","id":1},{"name":"Lora Shaw","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["exercitation","fugiat","enim","occaecat","sit"],"longitude":"64.657135","latitude":"45.0962","registered":"Thursday, August 11, 2016 8:56 PM","about":"Nulla enim culpa aute incididunt id consectetur labore fugiat commodo excepteur nisi pariatur. Excepteur nostrud sint laboris nulla deserunt magna aliqua labore est sit nostrud incididunt laborum elit. In mollit aute dolore eu irure reprehenderit nisi veniam ullamco ea minim reprehenderit. Est aliquip nulla exercitation commodo.","address":"478 Dennett Place, Rivera, New York, 5748","phone":"+1 (998) 517-3674","email":"burton.farrell@kraggle.biz","company":"KRAGGLE","name":{"last":"Farrell","first":"Burton"},"eyeColor":"green","age":29,"picture":"http://placehold.it/32x32","balance":"$2,211.21","isActive":false,"guid":"d24c7350-18dd-4452-b341-6aac0f6342fc","index":50,"_id":"5ac893d8387b642b736ba9f1"},{"favoriteFruit":"apple","greeting":"Hello, Crystal! You have 7 unread messages.","friends":[{"name":"Chavez Johnson","id":0},{"name":"Simone Knight","id":1},{"name":"Moreno Robertson","id":2}],"range":[0,1,2,3,4,5,6,7,8,9],"tags":["consectetur","eiusmod","eiusmod","anim","ea"],"longitude":"35.354383","latitude":"0.541766","registered":"Sunday, August 7, 2016 1:50 AM","about":"Lorem id cillum minim deserunt ad consectetur reprehenderit pariatur exercitation labore do nostrud. Pariatur esse amet ut proident deserunt pariatur ad excepteur culpa qui ad nulla in pariatur. Laborum sint sint enim deserunt qui in occaecat consectetur. Do occaecat do dolor non anim aliqua consectetur laborum nisi tempor dolor velit eu.","address":"463 Harbor Lane, Topanga, Illinois, 9275","phone":"+1 (961) 593-3565","email":"crystal.walker@terragen.com","company":"TERRAGEN","name":{"last":"Walker","first":"Crystal"},"eyeColor":"green","age":32,"picture":"http://placehold.it/32x32","balance":"$3,040.63","isActive":true,"guid":"a42a251e-dea3-4c82-a450-5361f76b13d8","index":51,"_id":"5ac893d8456673776834b929"}] --------------------------------------------------------------------------------