public void setNativeData(JSONObjectValue new_value) { if (flagHasNativeData) { } flagHasNativeData = true; storeNativeData = new_value; }
public void setRealmData(JSONObjectValue new_value) { if (flagHasRealmData) { } flagHasRealmData = true; storeRealmData = new_value; }
public void setNutrientNameToID(JSONObjectValue new_value) { if (flagHasNutrientNameToID) { } flagHasNutrientNameToID = true; storeNutrientNameToID = new_value; }
public void setNewFieldData(JSONObjectValue new_value) { if (flagHasNewFieldData) { } flagHasNewFieldData = true; storeNewFieldData = new_value; }
protected abstract void handle_result(JSONObjectValue result);
protected override void finish() { Debug.Assert(value != null); handle_result(value); value = null; }
protected override void start() { Debug.Assert(value == null); value = new JSONObjectValue(); }
protected override void handle_result(JSONObjectValue result) { //@@@ Debug.Assert(!have_value); have_value = true; value = result; }
private void set_up_fetch(Fetch fetcher, ConversationStateJSON conversation_state, RequestInfoJSON request_info) { fetcher.setUserAgent("HoundCloudRequesterCSharp/1.0"); if (use_proxy) { fetcher.setProxyServer(proxy_server, proxy_port); int param_count = proxy_parameters.Count; for (int param_num = 0; param_num < param_count; ++param_num) { fetcher.setProxyParameter(proxy_parameters[param_num].key, proxy_parameters[param_num].value); } } long time_stamp = (long)((DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0)). TotalSeconds); request_info.setTimeStamp(time_stamp); if (conversation_state != null) { request_info.setConversationState(conversation_state); } string request_id = request_info.getRequestID(); request_info.setUserID(user_id); request_info.setClientID(client_id); request_info.setPartialTranscriptsDesired(true); request_info.setObjectByteCountPrefix(false); request_info.setResultVersionAccepted(1.1); request_info.setSDK("C Sharp"); { JSONObjectValue sdk_info = new JSONObjectValue(); sdk_info.setField("SDKVariant", new JSONStringValue(BuildInfo.SDKVariant)); sdk_info.setField("SDKPrivateDomains", new JSONStringValue(BuildInfo.SDKPrivateDomains)); sdk_info.setField("BuildUser", new JSONStringValue(BuildInfo.BuildUser)); sdk_info.setField("BuildDate", new JSONStringValue(BuildInfo.BuildDate)); sdk_info.setField("BuildMachine", new JSONStringValue(BuildInfo.BuildMachine)); sdk_info.setField("BuildSVNRevision", new JSONStringValue(BuildInfo.BuildSVNRevision)); sdk_info.setField("BuildSVNBranch", new JSONStringValue(BuildInfo.BuildSVNBranch)); sdk_info.setField("BuildNumber", new JSONStringValue(BuildInfo.BuildNumber)); sdk_info.setField("BuildKind", new JSONStringValue(BuildInfo.BuildKind)); sdk_info.setField("BuildVariant", new JSONStringValue(BuildInfo.BuildVariant)); request_info.setSDKInfo(sdk_info); } StringWriter request_info_stream = new StringWriter(); JSONStreamWriter request_info_writer = new JSONStreamWriter( request_info_stream, JSONWriter.whitespace_style.WHITESPACE_NONE); request_info.write_as_json(request_info_writer); fetcher.setParameter("Hound-Request-Info", request_info_stream.ToString()); string auth_id = user_id + ";" + request_id; fetcher.setParameter("Hound-Request-Authentication", auth_id); byte[] key_bits = Base64.base64url_decode(client_key); HMACSHA256 sha_256_hmac = new HMACSHA256(key_bits); byte[] hash_result = sha_256_hmac.ComputeHash( Encoding.UTF8.GetBytes( String.Format("{0}{1}", auth_id, time_stamp))); fetcher.setParameter("Hound-Client-Authentication", client_id + ";" + String.Format("{0}", time_stamp) + ";" + new String(Base64.base64url_encode(hash_result))); if (request_info.hasInputLanguageEnglishName()) { fetcher.setParameter("Hound-Input-Language-English-Name", request_info.getInputLanguageEnglishName()); } if (request_info.hasInputLanguageNativeName()) { fetcher.setParameter("Hound-Input-Language-Native-Name", request_info.getInputLanguageNativeName()); } if (request_info.hasInputLanguageIETFTag()) { fetcher.setParameter("Hound-Input-Language-IETF-Tag", request_info.getInputLanguageIETFTag()); } fetcher.setTimeoutSeconds(30); }