Home Php C# Sql C C++ Javascript Python Java Go Android Git Linux Asp.net Django .net Node.js Ios Xcode Cocoa Iphone Mysql Tomcat Mongodb Bash Objective-c Scala Visual-studio Apache Elasticsearch Jar Eclipse Jquery Ruby-on-rails Ruby Rubygems Android-studio Spring Lua Sqlite Emacs Ubuntu Perl Docker Swift Amazon-web-services Svn Html Ajax Xml Java-ee Maven Intellij-idea Rvm Macos Unix Css Ipad Postgresql Css3 Json Windows-server Vue.js Typescript Oracle Hibernate Internet-explorer Github Tensorflow Laravel Symfony Redis Html5 Google-app-engine Nginx Firefox Sqlalchemy Lucene Erlang Flask Vim Solr Webview Facebook Zend-framework Virtualenv Nosql Ide Twitter Safari Flutter Bundle Phonegap Centos Sphinx Actionscript Tornado Register | Login | Edit Tags | New Questions | 繁体 | 简体


3 questions online user: 27

0
votes
answers
81 views
+10

Erlang Cowboy中的冒號

0

我使用leptus(基於Cowboy)作爲RESTful服務器。我遇到了路由器問題。Erlang Cowboy中的冒號

在我的代碼:

post("/restconf/operations/nm-restful:create-mp", Req, State) -> 
    {200, {json, <<>>, State}. 

牛仔,當有一個冒號,它會做綁定。但是如果URL路徑中實際存在冒號呢?我不希望它受到束縛。官方網站教程中沒有關於這個問題的信息。

+0

我看了一下'cowboy_router'的源碼,我不認爲這是可能的。我看不出任何方法來「逃離」源代碼中的冒號。如果這是真的,最好的辦法是使用'/ restconf/operations /:anything'匹配所有這些路由,然後在函數內的參數'anything'的值上做一個'case'。 – Dogbert

+0

@Dogbert你的建議是一個很好的解決方法,thx – ruanhao

沙发
0
0

我看着cowboy_router(哪個leptus使用)的來源,我不認爲這是可能的。我看不出任何方法來「逃離」源代碼中的冒號。如果這是真的,那麼最好的辦法是使用/restconf/operations/:anything來匹配所有這樣的路由,然後對函數內部的任何參數的值做一個例子。下面是一個例子:

post("/restconf/operations/:thing", Req, State) -> 
    case leptus_req:param(Req, thing) of 
    <<"nm-restful:create-mp">> -> 
     {200, {json, <<>>, State}; 
    _ -> 
     {404, {json, <<>>, State}. 
0
votes
answers
74 views
+10

保持Erlang中的依賴關係安全

0

我在基於Erlang的ZMQ服務器中使用chumak。我正在傾聽和產卵過程,以接受連接:保持Erlang中的依賴關係安全

  {ok, LSocket} = chumak:socket(rep),                                 
      {ok, _} = chumak:bind(LSocket, tcp, "0.0.0.0", ?PORT),                          
      spawn_link(fun() -> loop(LSocket, DBConn, RedisConn) end), 

這一切工作正常。但是有一個問題。當發生某種「意外」(來自chumak的觀點)時,例如連接到其端口的端口掃描,接受數據的進程可能會死亡。這很好,因爲它會自動重啓。不好的是,當這種情況發生時,chumak將錯誤全部噴灑在控制檯上。我不關心他們。

有什麼辦法可以在Erlang中關閉依賴庫嗎?

沙发
0
1

chumak錯誤通過error_logger發出。這意味着,爲了防止它們顯示出來,你必須告訴你的error_logger處理程序不要顯示它們。

我猜你在爲此使用sasl。如果是這種情況,您需要做的是將此配置添加到sasl環境:{sasl_error_logger, false}

但是要小心,如果你這樣做,你將禁止顯示所有的錯誤日誌。我不確定您是否可以告訴sasl跳過特定類型的錯誤報告。如果可能的話,您將不想打印出bind_error報告的錯誤消息。

0
votes
answers
94 views
+10

Erlang:在二進制文件中進行反向搜索

0

是否有類似於二進制文件的string:rstr()Erlang:在二進制文件中進行反向搜索

我也通過,雖然該提案建議EEP-9模塊binary_string中實現這對於R12B-2目前OTP docs採用完全不提這個模塊的事實感到困惑。

沙发
0
0

我想你應該使用binary:match來代替。 binary:match將返回Pattern in Subject中的第一次出現以及元組中的位置和長度。但是我們應該注意到string:rstr返回Pattern在Subject中的第一次出現。